Anonymous | Login | Signup for a new account | 12-17-2024 14:50 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Advanced Details [ Jump to Notes ] | [ View Simple ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0003350 | [Resin] | minor | always | 02-22-09 12:51 | 07-25-11 15:21 | ||||
Reporter | karlgold | View Status | public | ||||||
Assigned To | ferg | ||||||||
Priority | normal | Resolution | fixed | Platform | |||||
Status | closed | OS | |||||||
Projection | none | OS Version | |||||||
ETA | none | Fixed in Version | 4.0.21 | Product Version | 3.1.6 | ||||
Product Build | |||||||||
Summary | 0003350: com.caucho.vfs.BufferedReaderAdapter ignores mark() and reset() | ||||||||
Description |
I tried something like the following on a request with some body content: char[] buffer = new char[READ_AHEAD_LIMIT]; BufferedReader reader = request.getReader(); boolean ready = reader.ready(); if (ready) { reader.mark(READ_AHEAD_LIMIT); reader.read(buffer); ready = reader.ready(); // result == FALSE reader.reset(); boolean notReady = reader.ready(); // result should be TRUE, but is FALSE } Looking at BufferedReaderAdapter, read() and ready() are delegated to the underlying ReadStream, but mark() and reset() are not. Calling them has not effect on the ReadStream. Workaround is to wrap the reader obtained from the request in yet another BufferedReader, but it would be better if request.getReader() returned a fully functional BufferedReader. |
||||||||
Steps To Reproduce | |||||||||
Additional Information | |||||||||
Attached Files | |||||||||
|
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
30 total queries executed. 26 unique queries executed. |