From 72d75657884e458c472708165c56d3a5f619dfb0 Mon Sep 17 00:00:00 2001 From: Jeff Utter Date: Tue, 20 Oct 2015 12:48:16 -0500 Subject: [PATCH 1/2] Fix Content-Type Header --- lib/rspec_api_documentation/headers.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/rspec_api_documentation/headers.rb b/lib/rspec_api_documentation/headers.rb index 70f9acb8..d3041cde 100644 --- a/lib/rspec_api_documentation/headers.rb +++ b/lib/rspec_api_documentation/headers.rb @@ -7,8 +7,7 @@ def env_to_headers(env) env.each do |key, value| # HTTP_ACCEPT_CHARSET => Accept-Charset if key =~ /^(HTTP_|CONTENT_TYPE)/ - header = key.gsub(/^HTTP_/, '').titleize.split.join("-") - header.concat('-Id') if key.scan(/_ID\Z/).any? + header = key.gsub(/^HTTP_/, '').split('_').map{|s| s.titleize}.join("-") headers[header] = value end end From bc101e54d6fc67d9513d5a193a5e038e6d7c0893 Mon Sep 17 00:00:00 2001 From: Jeff Utter Date: Wed, 21 Oct 2015 12:55:13 -0500 Subject: [PATCH 2/2] Unit test for Content-Type header --- spec/headers_spec.rb | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 spec/headers_spec.rb diff --git a/spec/headers_spec.rb b/spec/headers_spec.rb new file mode 100644 index 00000000..509bfd9c --- /dev/null +++ b/spec/headers_spec.rb @@ -0,0 +1,26 @@ +require 'spec_helper' + +class FakeHeaderable + include RspecApiDocumentation::Headers + + def public_env_to_headers(env) + env_to_headers(env) + end +end + +describe RspecApiDocumentation::Headers do + let(:example) { FakeHeaderable.new } + + describe '#env_to_headers' do + subject { example.public_env_to_headers(env) } + + context 'When the env contains "CONTENT_TYPE"' do + let(:env) { { "CONTENT_TYPE" => 'multipart/form-data' } } + + it 'converts the header to "Content-Type"' do + expect(subject['Content-Type']).to eq 'multipart/form-data' + end + end + end + +end