Skip to content

Commit 08b163b

Browse files
committed
chore: move build trailer comment
1 parent 1e945ca commit 08b163b

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

apisix/plugins/grpc-web.lua

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,20 @@ local function exit(ctx, status)
7373
return status
7474
end
7575

76+
--- Build gRPC-Web trailer chunk
77+
-- grpc-web trailer format reference:
78+
-- envoyproxy/envoy/source/extensions/filters/http/grpc_web/grpc_web_filter.cc
79+
--
80+
-- Format for grpc-web trailer
81+
-- 1 byte: 0x80
82+
-- 4 bytes: length of the trailer
83+
-- n bytes: trailer
84+
-- It using upstream_trailer_* variables from nginx, it is available since NGINX version 1.13.10
85+
-- https://nginx.org/en/docs/http/ngx_http_upstream_module.html#var_upstream_trailer_
86+
--
87+
-- @param grpc_status number grpc status code
88+
-- @param grpc_message string grpc message
89+
-- @return string grpc-web trailer chunk in byte[]
7690
local build_trailer = function (grpc_status, grpc_message)
7791
local status_str = "grpc-status:" .. grpc_status
7892
local status_msg = "grpc-message:" .. ( grpc_message or "")
@@ -194,19 +208,6 @@ function _M.body_filter(conf, ctx)
194208
ngx_arg[1] = chunk
195209
end
196210

197-
--[[
198-
upstream_trailer_* available since NGINX version 1.13.10 :
199-
https://nginx.org/en/docs/http/ngx_http_upstream_module.html#var_upstream_trailer_
200-
201-
grpc-web trailer format reference:
202-
envoyproxy/envoy/source/extensions/filters/http/grpc_web/grpc_web_filter.cc
203-
204-
Format for grpc-web trailer
205-
1 byte: 0x80
206-
4 bytes: length of the trailer
207-
n bytes: trailer
208-
209-
--]]
210211
if ngx_arg[2] then -- if eof
211212
local status = ctx.var.upstream_trailer_grpc_status
212213
local message = ctx.var.upstream_trailer_grpc_message

0 commit comments

Comments
 (0)