Передача переменной между блоками в Openresty / Lua с помощью ngx.ctx - PullRequest
0 голосов
/ 12 октября 2019

Попытка передать переменную между двумя блоками lua. Предположительно, это должно работать с ngx.ctx, например:

header_filter_by_lua_block  {
ngx.ctx.myvar = ngx.header["X-fetch"];
}

access_by_lua_block  {
ngx.header["X-send"] = ngx.ctx.myvar;
}

, но это не так. Что не так?

PS Тестирование с обоими в одном блоке работает (в основном дублирует существующий заголовок, но это только для иллюстрации)

header_filter_by_lua_block  {
ngx.ctx.myvar = ngx.header["X-fetch"];
ngx.header["X-send"] = ngx.ctx.myvar;
}

1 Ответ

1 голос
/ 12 октября 2019

Это потому, что access_by_lua_block запускается раньше header_filter_by_lua_block.

Взгляните на https://openresty -reference.readthedocs.io / en / latest / Directives /

...