Hi Robert,I tried ngx.ctx for sharing value between phases, unfortunately I am not getting the value as expected. I tried below code path and saw header has different value and body has different value.header_filter_by_lua_block { local t = os.time() ngx.ctx.foo = t ngx.header["Foo"] = t } body_filter_by_lua_block { ngx.arg[1] = ngx.arg[1]:gsub("**FOO**", ngx.ctx.foo) }