File tree Expand file tree Collapse file tree 10 files changed +34
-7
lines changed Expand file tree Collapse file tree 10 files changed +34
-7
lines changed Original file line number Diff line number Diff line change 1414 name : ${{matrix.ruby}} on ${{matrix.os}}
1515 runs-on : ${{matrix.os}}-latest
1616 env :
17- BUNDLER_GEMFILE : ${{matrix.gemfile}}
17+ BUNDLE_GEMFILE : ${{matrix.gemfile}}
1818
1919 strategy :
2020 matrix :
Original file line number Diff line number Diff line change 1414 runs-on : ${{matrix.os}}-latest
1515 continue-on-error : ${{matrix.experimental}}
1616 env :
17- BUNDLER_GEMFILE : ${{matrix.gemfile}}
17+ BUNDLE_GEMFILE : ${{matrix.gemfile}}
1818
1919 strategy :
2020 matrix :
Original file line number Diff line number Diff line change 33/gems.locked
44/.covered.db
55/external
6+
7+ * .lock
Original file line number Diff line number Diff line change 1+ source "https://rubygems.org"
2+
3+ gem "async-http"
4+ gem "bake-test"
5+ gem "bake-test-external"
6+ gem "sus"
7+ gem "sus-fixtures-async-http"
8+ gem "covered"
Original file line number Diff line number Diff line change 33# Released under the MIT License.
44# Copyright, 2022, by Samuel Williams.
55
6- eval_gemfile ( "../ gems.rb" )
6+ eval_gemfile ( "gems.rb" )
77
88gem "rack" , "~> 1.0"
Original file line number Diff line number Diff line change 33# Released under the MIT License.
44# Copyright, 2022, by Samuel Williams.
55
6- eval_gemfile ( "../ gems.rb" )
6+ eval_gemfile ( "gems.rb" )
77
88gem "rack" , "~> 2.0"
Original file line number Diff line number Diff line change 33# Released under the MIT License.
44# Copyright, 2022, by Samuel Williams.
55
6- eval_gemfile ( "../ gems.rb" )
6+ eval_gemfile ( "gems.rb" )
77
88gem "rack" , "~> 3.0"
Original file line number Diff line number Diff line change 1111module Protocol
1212 module Rack
1313 module Adapter
14- if ::Rack :: RELEASE >= "3"
14+ if ::Rack . release >= "3"
1515 IMPLEMENTATION = Rack3
1616 else
1717 IMPLEMENTATION = Rack2
Original file line number Diff line number Diff line change @@ -108,10 +108,12 @@ def wrap_headers(fields)
108108
109109 if key . start_with? ( 'rack.' )
110110 meta [ key ] = value
111- else
111+ elsif value . is_a? ( String )
112112 value . split ( "\n " ) . each do |value |
113113 headers [ key ] = value
114114 end
115+ else
116+ headers [ key ] = value
115117 end
116118 end
117119
Original file line number Diff line number Diff line change 7575 end
7676 end
7777
78+ with 'non-string header value' do
79+ let ( :app ) do
80+ lambda do |env |
81+ [ 200 , { 'x-custom' => 123 } , [ "Hello World!" ] ]
82+ end
83+ end
84+
85+ let ( :response ) { client . get ( "/" ) }
86+
87+ it "get valid response" do
88+ expect ( response . read ) . to be == "Hello World!"
89+ expect ( response . headers [ 'x-custom' ] ) . to be == [ '123' ]
90+ end
91+ end
92+
7893 with 'REQUEST_URI' , timeout : 1 do
7994 let ( :app ) do
8095 lambda do |env |
You can’t perform that action at this time.
0 commit comments