@Override public void failure(final Throwable error) { try { if (!response.isCommitted()) { try { if (configSetStatusOverSendError) { response.reset(); //noinspection deprecation response.setStatus(INTERNAL_SERVER_ERROR, "Request failed."); } else { response.sendError(INTERNAL_SERVER_ERROR, "Request failed."); } } catch (final IllegalStateException ex) { // a race condition externally committing the response can still occur... LOGGER.log(Level.FINER, "Unable to reset failed response.", ex); } catch (final IOException ex) { throw new ContainerException(LocalizationMessages.EXCEPTION_SENDING_ERROR_RESPONSE(INTERNAL_SERVER_ERROR, "Request failed."), ex); } } } finally { LOGGER.log(Level.FINEST, "failure(...) called"); commit(); rethrow(error); } }
@Override public void reset() { reset(false); }
@Override public void reset() { reset(false); }
public void reset(boolean preserveCookies) { if (!preserveCookies) reset(); else { ArrayList<String> cookieValues = new ArrayList<String>(5); Enumeration<String> vals = _fields.getValues(HttpHeader.SET_COOKIE.asString()); while (vals.hasMoreElements()) cookieValues.add(vals.nextElement()); reset(); for (String v:cookieValues) _fields.add(HttpHeader.SET_COOKIE, v); } }
public void reset(boolean preserveCookies) { if (!preserveCookies) reset(); else { ArrayList<String> cookieValues = new ArrayList<String>(5); Enumeration<String> vals = _fields.getValues(HttpHeader.SET_COOKIE.asString()); while (vals.hasMoreElements()) cookieValues.add(vals.nextElement()); reset(); for (String v:cookieValues) _fields.add(HttpHeader.SET_COOKIE, v); } }
public void reset(boolean preserveCookies) { if (!preserveCookies) reset(); else { ArrayList<String> cookieValues = new ArrayList<String>(5); Enumeration<String> vals = _fields.getValues(HttpHeader.SET_COOKIE.asString()); while (vals.hasMoreElements()) cookieValues.add(vals.nextElement()); reset(); for (String v:cookieValues) _fields.add(HttpHeader.SET_COOKIE, v); } }
public void reset(boolean preserveCookies) { if (!preserveCookies) reset(); else { HttpFields response_fields=_connection.getResponseFields(); ArrayList<String> cookieValues = new ArrayList<String>(5); Enumeration<String> vals = response_fields.getValues(HttpHeaders.SET_COOKIE); while (vals.hasMoreElements()) cookieValues.add((String)vals.nextElement()); reset(); for (String v:cookieValues) response_fields.add(HttpHeaders.SET_COOKIE, v); } }
public void reset(boolean preserveCookies) { if (!preserveCookies) reset(); else { HttpFields response_fields=_connection.getResponseFields(); ArrayList<String> cookieValues = new ArrayList<String>(5); Enumeration<String> vals = response_fields.getValues(HttpHeaders.SET_COOKIE); while (vals.hasMoreElements()) cookieValues.add((String)vals.nextElement()); reset(); for (String v:cookieValues) response_fields.add(HttpHeaders.SET_COOKIE, v); } }
public void reset(boolean preserveCookies) { if (!preserveCookies) reset(); else { HttpFields response_fields=_connection.getResponseFields(); ArrayList<String> cookieValues = new ArrayList<String>(5); Enumeration<String> vals = response_fields.getValues(HttpHeaders.SET_COOKIE); while (vals.hasMoreElements()) cookieValues.add((String)vals.nextElement()); reset(); for (String v:cookieValues) response_fields.add(HttpHeaders.SET_COOKIE, v); } }
public void reset(boolean preserveCookies) { if (!preserveCookies) reset(); else { HttpFields response_fields=_connection.getResponseFields(); ArrayList<String> cookieValues = new ArrayList<String>(5); Enumeration<String> vals = response_fields.getValues(HttpHeaders.SET_COOKIE); while (vals.hasMoreElements()) cookieValues.add((String)vals.nextElement()); reset(); for (String v:cookieValues) response_fields.add(HttpHeaders.SET_COOKIE, v); } }
public void reset(boolean preserveCookies) { if (!preserveCookies) reset(); else { ArrayList<String> cookieValues = new ArrayList<String>(5); Enumeration<String> vals = _fields.getValues(HttpHeader.SET_COOKIE.asString()); while (vals.hasMoreElements()) cookieValues.add(vals.nextElement()); reset(); for (String v:cookieValues) _fields.add(HttpHeader.SET_COOKIE, v); } }
public void reset(boolean preserveCookies) { if (!preserveCookies) reset(); else { HttpFields response_fields=_connection.getResponseFields(); ArrayList<String> cookieValues = new ArrayList<String>(5); Enumeration<String> vals = response_fields.getValues(HttpHeaders.SET_COOKIE); while (vals.hasMoreElements()) cookieValues.add((String)vals.nextElement()); reset(); for (String v:cookieValues) response_fields.add(HttpHeaders.SET_COOKIE, v); } }
private void minimalErrorResponse(Throwable failure) { try { int code = 500; Integer status=(Integer)_request.getAttribute(RequestDispatcher.ERROR_STATUS_CODE); if (status!=null) code = status.intValue(); else { Throwable cause = unwrap(failure,BadMessageException.class); if (cause instanceof BadMessageException) code = ((BadMessageException)cause).getCode(); } _response.reset(true); _response.setStatus(code); _response.flushBuffer(); } catch (Throwable x) { if (x != failure) failure.addSuppressed(x); abort(failure); } }
public void completeResponse() throws IOException { if (!_generator.isCommitted()) { _generator.setResponse(_response.getStatus(), _response.getReason()); try { _generator.completeHeader(_responseFields, Generator.LAST); } catch(RuntimeException e) { LOG.warn("header full: "+e); LOG.debug(e); _response.reset(); _generator.reset(); _generator.setResponse(HttpStatus.INTERNAL_SERVER_ERROR_500,null); _generator.completeHeader(_responseFields,Generator.LAST); _generator.complete(); throw new HttpException(HttpStatus.INTERNAL_SERVER_ERROR_500); } } _generator.complete(); }
public void completeResponse() throws IOException { if (!_generator.isCommitted()) { _generator.setResponse(_response.getStatus(), _response.getReason()); try { _generator.completeHeader(_responseFields, Generator.LAST); } catch(RuntimeException e) { LOG.warn("header full: "+e); LOG.debug(e); _response.reset(); _generator.reset(); _generator.setResponse(HttpStatus.INTERNAL_SERVER_ERROR_500,null); _generator.completeHeader(_responseFields,Generator.LAST); _generator.complete(); throw new HttpException(HttpStatus.INTERNAL_SERVER_ERROR_500); } } _generator.complete(); }
public void completeResponse() throws IOException { if (!_generator.isCommitted()) { _generator.setResponse(_response.getStatus(), _response.getReason()); try { _generator.completeHeader(_responseFields, Generator.LAST); } catch(RuntimeException e) { LOG.warn("header full: "+e); LOG.debug(e); _response.reset(); _generator.reset(); _generator.setResponse(HttpStatus.INTERNAL_SERVER_ERROR_500,null); _generator.completeHeader(_responseFields,Generator.LAST); _generator.complete(); throw new HttpException(HttpStatus.INTERNAL_SERVER_ERROR_500); } } _generator.complete(); }
public void completeResponse() throws IOException { if (!_generator.isCommitted()) { _generator.setResponse(_response.getStatus(), _response.getReason()); try { _generator.completeHeader(_responseFields, Generator.LAST); } catch(RuntimeException e) { LOG.warn("header full: "+e); LOG.debug(e); _response.reset(); _generator.reset(); _generator.setResponse(HttpStatus.INTERNAL_SERVER_ERROR_500,null); _generator.completeHeader(_responseFields,Generator.LAST); _generator.complete(); throw new HttpException(HttpStatus.INTERNAL_SERVER_ERROR_500); } } _generator.complete(); }
public void completeResponse() throws IOException { if (!_generator.isCommitted()) { _generator.setResponse(_response.getStatus(), _response.getReason()); try { _generator.completeHeader(_responseFields, Generator.LAST); } catch(RuntimeException e) { LOG.warn("header full: "+e); LOG.debug(e); _response.reset(); _generator.reset(); _generator.setResponse(HttpStatus.INTERNAL_SERVER_ERROR_500,null); _generator.completeHeader(_responseFields,Generator.LAST); _generator.complete(); throw new HttpException(HttpStatus.INTERNAL_SERVER_ERROR_500); } } _generator.complete(); }
public void commitResponse(boolean last) throws IOException { if (!_generator.isCommitted()) { _generator.setResponse(_response.getStatus(), _response.getReason()); try { // If the client was expecting 100 continues, but we sent something // else, then we need to close the connection if (_expect100Continue && _response.getStatus()!=100) _generator.setPersistent(false); _generator.completeHeader(_responseFields, last); } catch(RuntimeException e) { LOG.warn("header full: " + e); _response.reset(); _generator.reset(); _generator.setResponse(HttpStatus.INTERNAL_SERVER_ERROR_500,null); _generator.completeHeader(_responseFields,Generator.LAST); _generator.complete(); throw new HttpException(HttpStatus.INTERNAL_SERVER_ERROR_500); } } if (last) _generator.complete(); }
public void commitResponse(boolean last) throws IOException { if (!_generator.isCommitted()) { _generator.setResponse(_response.getStatus(), _response.getReason()); try { // If the client was expecting 100 continues, but we sent something // else, then we need to close the connection if (_expect100Continue && _response.getStatus()!=100) _generator.setPersistent(false); _generator.completeHeader(_responseFields, last); } catch(RuntimeException e) { LOG.warn("header full: " + e); _response.reset(); _generator.reset(); _generator.setResponse(HttpStatus.INTERNAL_SERVER_ERROR_500,null); _generator.completeHeader(_responseFields,Generator.LAST); _generator.complete(); throw new HttpException(HttpStatus.INTERNAL_SERVER_ERROR_500); } } if (last) _generator.complete(); }