However, in TC 6.0.19 the code below will work (however, the request.getOutputStream().close() will still have no effect, it will trigger because of the status code). Also, response.setStatus(HttpServletResponse.SC_REQUEST_ENTITY_TOO_LARGE) will work as well.
"Bill Barker" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > There is currently no way to do this in Tomcat. Tomcat will always drain > the input stream, even in cases like this where it should know better. > > "Maurizio Melato" <[EMAIL PROTECTED]> wrote in message > news:[EMAIL PROTECTED] >> Hello! >> is there a way to dispose an HttpServletRequest closing the underlying >> inputstream without consuming the entire HTTP client stream? >> >> Before answering request.getInputStream().close() let me explain the >> scenario ;) >> >> The scenario involves a client application executing a potentially big >> HTTP chunked POST (100mb or even gb) and the server, for some reason, >> may want to close the connection after a while. >> >> The Server code closing the request is: >> ------ >> >> try { >> request.getInputStream().close(); >> }catch(IOException ignore) {} >> } >> >> try { >> response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, >> "Error"); >> response.flushBuffer(); >> }catch(IOException ignore) {} >> >> try { >> response.getOutputStream().close(); >> } catch (IOException e) {} >> ------ >> >> I logged each step and I know for sure these operations are actually >> executed. >> >> After the Server performs the operations above I would expect the client >> to get an IOException while still writing the request body stream but >> this does not happen! >> >> The client posts all the request stream (consuming resources on the >> client machine, etc, etc..) till the end while Tomcat seems to simply >> discard those data without closing the underlying connection. >> >> Do you know if this behaviour is supposed to be correct? >> Any workaround to force a different one? >> >> >> Thanks in advance for your availability! >> Best regards, >> Maurizio >> >> >> >> --------------------------------------------------------------------- >> To start a new topic, e-mail: [email protected] >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > > > --------------------------------------------------------------------- > To start a new topic, e-mail: [email protected] > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To start a new topic, e-mail: [email protected] To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
