aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.h
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2018-03-17 23:04:25 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2018-03-17 23:04:25 +0300
commit6a0d9e5b2d9274e5ac5059a674763f19c2731b11 (patch)
tree0ac81283fdacc0546598b4f47eae3bd99adfe82c /src/http/ngx_http_request.h
parent56ad960e7a3d4cf16c03ff231616a76c4834e548 (diff)
downloadnginx-6a0d9e5b2d9274e5ac5059a674763f19c2731b11.tar.gz
nginx-6a0d9e5b2d9274e5ac5059a674763f19c2731b11.zip
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.
Diffstat (limited to 'src/http/ngx_http_request.h')
-rw-r--r--src/http/ngx_http_request.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h
index 5d44c06ef..39baa0f0c 100644
--- a/src/http/ngx_http_request.h
+++ b/src/http/ngx_http_request.h
@@ -197,6 +197,7 @@ typedef struct {
ngx_table_elt_t *if_range;
ngx_table_elt_t *transfer_encoding;
+ ngx_table_elt_t *te;
ngx_table_elt_t *expect;
ngx_table_elt_t *upgrade;