nghttpx: Code cleanup

This commit is contained in:
Tatsuhiro Tsujikawa 2015-02-24 15:11:09 +09:00
parent 1646352f3c
commit 8417275368
1 changed files with 5 additions and 9 deletions

View File

@ -250,17 +250,13 @@ int on_request_headers(Http2Upstream *upstream, Downstream *downstream,
auto method = downstream->get_request_header(http2::HD__METHOD); auto method = downstream->get_request_header(http2::HD__METHOD);
auto scheme = downstream->get_request_header(http2::HD__SCHEME); auto scheme = downstream->get_request_header(http2::HD__SCHEME);
bool is_connect = "CONNECT" == method->value;
bool having_authority = http2::non_empty_value(authority);
// presence of mandatory header fields are guaranteed by libnghttp2. // presence of mandatory header fields are guaranteed by libnghttp2.
if (!is_connect) {
// For HTTP/2 proxy, :authority is required. // For HTTP/2 proxy, we request :authority.
if (get_config()->http2_proxy && !having_authority) { if (method->value != "CONNECT" && get_config()->http2_proxy && !authority) {
upstream->rst_stream(downstream, NGHTTP2_PROTOCOL_ERROR); upstream->rst_stream(downstream, NGHTTP2_PROTOCOL_ERROR);
return 0; return 0;
} }
}
downstream->set_request_method(http2::value_to_str(method)); downstream->set_request_method(http2::value_to_str(method));
downstream->set_request_http2_scheme(http2::value_to_str(scheme)); downstream->set_request_http2_scheme(http2::value_to_str(scheme));