diff --git a/src/shrpx_mruby_module_env.cc b/src/shrpx_mruby_module_env.cc index a5237b4b..1ac7a243 100644 --- a/src/shrpx_mruby_module_env.cc +++ b/src/shrpx_mruby_module_env.cc @@ -74,6 +74,14 @@ mrb_value env_get_ctx(mrb_state *mrb, mrb_value self) { } } // namespace +namespace { +mrb_value env_get_phase(mrb_state *mrb, mrb_value self) { + auto data = static_cast(mrb->ud); + + return mrb_fixnum_value(data->phase); +} +} // namespace + namespace { mrb_value env_get_remote_addr(mrb_state *mrb, mrb_value self) { auto data = static_cast(mrb->ud); @@ -95,6 +103,7 @@ void init_env_class(mrb_state *mrb, RClass *module) { mrb_define_method(mrb, env_class, "req", env_get_req, MRB_ARGS_NONE()); mrb_define_method(mrb, env_class, "resp", env_get_resp, MRB_ARGS_NONE()); mrb_define_method(mrb, env_class, "ctx", env_get_ctx, MRB_ARGS_NONE()); + mrb_define_method(mrb, env_class, "phase", env_get_phase, MRB_ARGS_NONE()); mrb_define_method(mrb, env_class, "remote_addr", env_get_remote_addr, MRB_ARGS_NONE()); }