File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -51,6 +51,12 @@ def parse_header(h, parser)
5151 @env [ name ] = @env . delete ( "HTTP_#{ name } " ) if @env [ "HTTP_#{ name } " ]
5252 end
5353
54+ if @env [ 'HTTP_HOST' ]
55+ name , port = @env [ 'HTTP_HOST' ] . split ( ':' )
56+ @env [ SERVER_NAME ] = name if name
57+ @env [ SERVER_PORT ] = port if port
58+ end
59+
5460 @env [ REQUEST_METHOD ] = parser . http_method
5561 @env [ REQUEST_URI ] = parser . request_url
5662 @env [ QUERY_STRING ] = parser . query_string
Original file line number Diff line number Diff line change 6666 @r . parse_header ( { 'Content-Length' => 42 } , parser )
6767 @r . env [ 'CONTENT_LENGTH' ] . should == 42
6868 end
69+
70+ it 'sets server_name and server_port correctly' do
71+ parser = mock ( 'parser' ) . as_null_object
72+
73+ @r . parse_header ( { 'Host' => 'myhost.com:3000' } , parser )
74+ @r . env [ 'SERVER_NAME' ] . should == 'myhost.com'
75+ @r . env [ 'SERVER_PORT' ] . should == '3000'
76+ end
6977 end
7078end
You can’t perform that action at this time.
0 commit comments