Module: Bugsage::RequestContext

Defined in:
lib/bugsage/request_context.rb

Overview

Builds a labeled Rails request context hash from a Rack env.

Class Method Summary collapse

Class Method Details

.from_env(env) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/bugsage/request_context.rb', line 7

def from_env(env)
  return {} unless env.is_a?(Hash)

  {
    Bugsage.t("context.request_method") => env["REQUEST_METHOD"],
    Bugsage.t("context.path") => env["PATH_INFO"],
    Bugsage.t("context.query_string") => env["QUERY_STRING"],
    Bugsage.t("context.host") => env["HTTP_HOST"] || env["SERVER_NAME"],
    Bugsage.t("context.request_id") => env["action_dispatch.request_id"] || env["HTTP_X_REQUEST_ID"],
    Bugsage.t("context.controller") => path_parameter_value(env, "controller"),
    Bugsage.t("context.action") => path_parameter_value(env, "action"),
    Bugsage.t("context.path_parameters") => path_parameters(env),
    Bugsage.t("context.request_parameters") => request_parameters(env),
    Bugsage.t("context.query_parameters") => query_parameters(env),
    Bugsage.t("context.form_parameters") => form_parameters(env),
    Bugsage.t("context.user_agent") => env["HTTP_USER_AGENT"]
  }.compact.reject { |_, value| blank?(value) }
end