module Pact::ProviderVerifier::UnderscoredHeadersMonkeyPatch

Public Instance Methods

restore_original_header_names(dasherized_headers) click to toggle source
# File lib/pact/provider_verifier/underscored_headers_monkeypatch.rb, line 46
def restore_original_header_names dasherized_headers
  original_header_names_value = dasherized_headers.delete("X-PACT-ORIGINAL-HEADER-NAMES")
  if original_header_names_value && original_header_names_value.size > 0
    replace_header_names(dasherized_headers, original_header_names_value.split(","))
  else
    dasherized_headers
  end
end
save_original_header_names(rack_headers, expected_request_headers) click to toggle source
# File lib/pact/provider_verifier/underscored_headers_monkeypatch.rb, line 38
def save_original_header_names rack_headers, expected_request_headers
  # expected_request_headers may be a Pact::NullExpectation
  if rack_headers.any?
    rack_headers['HTTP_X_PACT_ORIGINAL_HEADER_NAMES'] = expected_request_headers.keys.join(",")
  end
  rack_headers
end

Private Instance Methods

pact_uppercase_and_dasherize(header_name) click to toggle source
# File lib/pact/provider_verifier/underscored_headers_monkeypatch.rb, line 65
def pact_uppercase_and_dasherize header_name
  header_name.upcase.split("_").join("-")
end
replace_header_names(dasherized_headers, original_header_names) click to toggle source
# File lib/pact/provider_verifier/underscored_headers_monkeypatch.rb, line 57
def replace_header_names dasherized_headers, original_header_names
  original_header_names.each_with_object(dasherized_headers) do | original_header_name, headers |
    if headers.key?(pact_uppercase_and_dasherize(original_header_name))
      headers[original_header_name] = headers.delete(pact_uppercase_and_dasherize(original_header_name))
    end
  end
end