Skip to main content

resolve

Function resolve 

Source
pub fn resolve<'a>(ctx: &'a Context, name: &str) -> Option<Cow<'a, str>>
Expand description

Resolves a variable name against the context.

Supported names (mirroring APISIX’s ctx.var where featherbit has an equivalent):

  • uri — request path (no query string)
  • request_uri — path plus ?query when query params exist
  • method, host, scheme, protocol
  • remote_addr — client IP without port; remote_port — the port
  • query_string — rebuilt from query_params
  • status — response status code
  • resp_body — response body (lossy UTF-8)
  • arg_<name> — first query parameter value
  • http_<name> — first request header value (underscores map to dashes)
  • cookie_<name> — value from the Cookie request header
  • post_arg_<name> — form field, only for application/x-www-form-urlencoded request bodies
  • consumer_name, consumer_group_id — from message["consumer.name"] / message["consumer.group"] (set by auth plugins)
  • msg_<key> — any context.message key (stringified)

Returns None for unknown names and for known prefixes whose subject is absent (missing header, missing query param, …).