Class: Julewire::Rails::RequestFields
- Inherits:
-
Object
- Object
- Julewire::Rails::RequestFields
- Defined in:
- lib/julewire/rails/request_fields.rb
Constant Summary collapse
- REMOTE_IP_ENV_KEY =
"julewire.rails.remote_ip"
Instance Method Summary collapse
- #filtered_path ⇒ Object
- #filtered_url ⇒ Object
- #id ⇒ Object
-
#initialize(request) ⇒ RequestFields
constructor
A new instance of RequestFields.
- #method ⇒ Object
- #path ⇒ Object
- #remote_ip ⇒ Object
- #user_agent ⇒ Object
Constructor Details
#initialize(request) ⇒ RequestFields
Returns a new instance of RequestFields.
8 9 10 |
# File 'lib/julewire/rails/request_fields.rb', line 8 def initialize(request) @request = request end |
Instance Method Details
#filtered_path ⇒ Object
27 28 29 |
# File 'lib/julewire/rails/request_fields.rb', line 27 def filtered_path @request.filtered_path end |
#filtered_url ⇒ Object
31 32 33 34 35 |
# File 'lib/julewire/rails/request_fields.rb', line 31 def filtered_url "#{@request.protocol}#{@request.host_with_port}#{filtered_path}" rescue StandardError nil end |
#id ⇒ Object
12 13 14 15 16 17 |
# File 'lib/julewire/rails/request_fields.rb', line 12 def id value = @request.request_id if @request.respond_to?(:request_id) value || header("action_dispatch.request_id") || header("HTTP_X_REQUEST_ID") rescue StandardError nil end |
#method ⇒ Object
19 20 21 |
# File 'lib/julewire/rails/request_fields.rb', line 19 def method @request.request_method end |
#path ⇒ Object
23 24 25 |
# File 'lib/julewire/rails/request_fields.rb', line 23 def path @request.path end |
#remote_ip ⇒ Object
41 42 43 44 45 46 47 48 49 50 |
# File 'lib/julewire/rails/request_fields.rb', line 41 def remote_ip env = @request.env if @request.respond_to?(:env) return env[REMOTE_IP_ENV_KEY] if env&.key?(REMOTE_IP_ENV_KEY) value = @request.remote_ip env[REMOTE_IP_ENV_KEY] = value if env value rescue StandardError nil end |
#user_agent ⇒ Object
37 38 39 |
# File 'lib/julewire/rails/request_fields.rb', line 37 def user_agent header("HTTP_USER_AGENT") end |