@Override public void reset() { resetForForward(); _status = 200; _reason = null; _contentLength = -1; _fields.clear(); String connection = _channel.getRequest().getHttpFields().getStringField(HttpHeader.CONNECTION); if (connection != null) { String[] values = connection.split(","); for (int i = 0; values != null && i < values.length; i++) { HttpHeaderValue cb = HttpHeaderValue.CACHE.get(values[0].trim()); if (cb != null) { switch (cb) { case CLOSE: _fields.put(HttpHeader.CONNECTION, HttpHeaderValue.CLOSE.toString()); break; case KEEP_ALIVE: if (HttpVersion.HTTP_1_0.is(_channel.getRequest().getProtocol())) _fields.put(HttpHeader.CONNECTION, HttpHeaderValue.KEEP_ALIVE.toString()); break; case TE: _fields.put(HttpHeader.CONNECTION, HttpHeaderValue.TE.toString()); break; } } } } }