Uploaded image for project: 'Undertow'
  1. Undertow
  2. UNDERTOW-1241

record-request-start-time does not work for HTTP/2

XMLWordPrintable

    • Low

      record-request-start-time does not work for HTTP/2. Thus, no response time can be tracked for HTTP/2 requests in access logs.

      HTTP/2 is handled separately in HttpReadListener before the request start time is set:

      if(httpServerExchange.getProtocol() == Protocols.HTTP_2_0) {
      free = handleHttp2PriorKnowledge(pooled, httpServerExchange);
      return;
      }
      
      if(!allowUnknownProtocols) {
      HttpString protocol = httpServerExchange.getProtocol();
      if(protocol != Protocols.HTTP_1_1 && protocol != Protocols.HTTP_1_0 && protocol != Protocols.HTTP_0_9) {
      UndertowLogger.REQUEST_IO_LOGGER.debugf("Closing connection from %s due to unknown protocol %s", connection.getChannel().getPeerAddress(), protocol);
      sendBadRequestAndClose(connection.getChannel(), new IOException());
      return;
      }
      }
      HttpTransferEncoding.setupRequest(httpServerExchange);
      if (recordRequestStartTime) {
      Connectors.setRequestStartTime(httpServerExchange);
      }
      

      So this needs some adjustments.

              sdouglas1@redhat.com Stuart Douglas (Inactive)
              rhn-support-aogburn Aaron Ogburn
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: