comparison src/http/ngx_http_request.c @ 7234:c693daca57f7

gRPC: special handling of the TE request header. According to the gRPC protocol specification, the "TE" header is used to detect incompatible proxies, and at least grpc-c server rejects requests without "TE: trailers". To preserve the logic, we have to pass "TE: trailers" to the backend if and only if the original request contains "trailers" in the "TE" header. Note that no other TE values are allowed in HTTP/2, so we have to remove anything else.
author Maxim Dounin <mdounin@mdounin.ru>
date Sat, 17 Mar 2018 23:04:25 +0300
parents 33edea74bd58
children 7f955d3b9a0d ea3f1f9af72c
comparison
equal deleted inserted replaced
7233:2713b2dbf5bb 7234:c693daca57f7
130 130
131 { ngx_string("Transfer-Encoding"), 131 { ngx_string("Transfer-Encoding"),
132 offsetof(ngx_http_headers_in_t, transfer_encoding), 132 offsetof(ngx_http_headers_in_t, transfer_encoding),
133 ngx_http_process_header_line }, 133 ngx_http_process_header_line },
134 134
135 { ngx_string("TE"),
136 offsetof(ngx_http_headers_in_t, te),
137 ngx_http_process_header_line },
138
135 { ngx_string("Expect"), 139 { ngx_string("Expect"),
136 offsetof(ngx_http_headers_in_t, expect), 140 offsetof(ngx_http_headers_in_t, expect),
137 ngx_http_process_unique_header_line }, 141 ngx_http_process_unique_header_line },
138 142
139 { ngx_string("Upgrade"), 143 { ngx_string("Upgrade"),