class Castle::Headers::Filter

used for preparing valuable headers list

Constants

VALUABLE_HEADERS

headers filter HTTP_ - this is how Rack prefixes incoming HTTP headers CONTENT_LENGTH - for responses without Content-Length or Transfer-Encoding header REMOTE_ADDR - ip address header returned by web server

Public Class Methods

new(request) click to toggle source

@param request [Rack::Request]

# File lib/castle/headers/filter.rb, line 20
def initialize(request)
  @request_env = request.env
  @header_format = Castle::Headers::Format
end

Public Instance Methods

call() click to toggle source

Serialize HTTP headers @return [Hash]

# File lib/castle/headers/filter.rb, line 27
def call
  @request_env
    .keys
    .each_with_object({}) do |header_name, acc|
      next unless header_name.match(VALUABLE_HEADERS)

      formatted_name = @header_format.call(header_name)
      acc[formatted_name] = @request_env[header_name].to_s
    end
end