class Pacto::Generator::Filters

Constants

CONNECTION_CONTROL_HEADERS
FRESHNESS_HEADERS
HEADERS_TO_FILTER

Public Instance Methods

filter_request_headers(request, response) click to toggle source
# File lib/pacto/generator/filters.rb, line 21
def filter_request_headers(request, response)
  # FIXME: Do we need to handle all these cases in real situations, or just because of stubbing?
  vary_headers = response.headers['Vary'] || []
  vary_headers = [vary_headers] if vary_headers.is_a? String
  vary_headers = vary_headers.map do |h|
    h.split(',').map(&:strip)
  end.flatten

  request.headers.select do |header|
    vary_headers.map(&:downcase).include? header.downcase
  end
end
filter_response_headers(request, response) click to toggle source
# File lib/pacto/generator/filters.rb, line 34
def filter_response_headers(request, response)
  Pacto::Extensions.normalize_header_keys(response.headers).reject do |header|
    (HEADERS_TO_FILTER.include? header) || (header.start_with?('X-'))
  end
end