Esempio n. 1
0
  @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;
          }
        }
      }
    }
  }