@@ -61,10 +61,10 @@ def proxy(env, source_request, rule)
61
61
options = @global_options . dup . merge ( rule . options )
62
62
63
63
if options [ :force_ssl ] && options [ :replace_response_host ] &&
64
- source_request . scheme == ' http'
64
+ source_request . scheme == " http"
65
65
rewrite_uri ( uri , source_request )
66
- uri . scheme = ' https'
67
- return [ 301 , { ' Location' => uri . to_s } , '' ]
66
+ uri . scheme = " https"
67
+ return [ 301 , { " Location" => uri . to_s } , "" ]
68
68
end
69
69
70
70
# Initialize request
@@ -162,16 +162,14 @@ def format_headers(headers)
162
162
end
163
163
end
164
164
165
- def default_port_for_scheme? ( scheme , port )
166
- scheme == ' http' && port == 80 || scheme == 'https' && port == 443
165
+ def request_default_port? ( req )
166
+ [ [ " http" , 80 ] , [ "https" , 443 ] ] . include? ( [ req . scheme , req . port ] )
167
167
end
168
168
169
- def rewrite_uri ( rewritten , original )
170
- rewritten . scheme = original . scheme
171
- rewritten . host = original . host
172
- unless default_port_for_scheme? ( original . scheme , original . port )
173
- rewritten . port = original . port
174
- end
169
+ def rewrite_uri ( uri , original_req )
170
+ uri . scheme = original_req . scheme
171
+ uri . host = original_req . host
172
+ uri . port = original_req . port unless request_default_port? ( original_req )
175
173
end
176
174
end
177
175
end
0 commit comments