code: public static HttpHeaders toArmeria(HttpRequest in) throws URISyntaxException {
          final URI requestTargetUri = toUri(in);
  
          final io.netty.handler.codec.http.HttpHeaders inHeaders = in.headers();
          final HttpHeaders out = new DefaultHttpHeaders(true, inHeaders.size());
  
          out.path(toHttp2Path(requestTargetUri));
          out.method(HttpMethod.valueOf(in.method().name()));
          setHttp2Scheme(inHeaders, requestTargetUri, out);
  
          if (!isOriginForm(requestTargetUri) && !isAsteriskForm(requestTargetUri)) {
              // Attempt to take from HOST header before taking from the request-line
              final String host = inHeaders.getAsString(HttpHeaderNames.HOST);
              setHttp2Authority(host == null || host.isEmpty() ? requestTargetUri.getAuthority() : host, out);
          }
  
          // Add the HTTP headers which have not been consumed above
          toArmeria(inHeaders, out);
          return out;
      }
docs: Converts the headers of the given Netty HTTP/1.x request into Armeria HTTP/2 headers.
  The following headers are only used if they can not be found in the {@code HOST} header or the
  {@code Request-Line} as defined by <a href="https://tools.ietf.org/html/rfc7230">rfc7230</a>
  <ul>
  <li>{@link ExtensionHeaderNames#SCHEME}</li>
  </ul>
  {@link ExtensionHeaderNames#PATH} is ignored and instead extracted from the {@code Request-Line}.