mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-10-07 00:05:02 -04:00
added missing upgrade, HTTP2-Settings in connection for h2c flow
This commit is contained in:
parent
e762faedfa
commit
d7fd96763e
@ -178,8 +178,13 @@ module HTTPX
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
UPCASED = {
|
||||||
|
"www-authenticate" => "WWW-Authenticate",
|
||||||
|
"http2-settings" => "HTTP2-Settings"
|
||||||
|
}
|
||||||
|
|
||||||
def capitalized(field)
|
def capitalized(field)
|
||||||
field.to_s.split("-").map(&:capitalize).join("-")
|
UPCASED[field] || field.to_s.split("-").map(&:capitalize).join("-")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
Channel.register "http/1.1", Channel::HTTP1
|
Channel.register "http/1.1", Channel::HTTP1
|
||||||
|
@ -16,6 +16,8 @@ module HTTPX
|
|||||||
upgrade_request = requests.first
|
upgrade_request = requests.first
|
||||||
return super unless valid_h2c_upgrade_request?(upgrade_request)
|
return super unless valid_h2c_upgrade_request?(upgrade_request)
|
||||||
upgrade_request.headers["upgrade"] = "h2c"
|
upgrade_request.headers["upgrade"] = "h2c"
|
||||||
|
upgrade_request.headers.add("connection", "upgrade")
|
||||||
|
upgrade_request.headers.add("connection", "http2-settings")
|
||||||
upgrade_request.headers["http2-settings"] = FrameBuilder.settings_value(@default_options.http2_settings)
|
upgrade_request.headers["http2-settings"] = FrameBuilder.settings_value(@default_options.http2_settings)
|
||||||
# TODO: validate!
|
# TODO: validate!
|
||||||
upgrade_response = __send_reqs(*upgrade_request).first
|
upgrade_response = __send_reqs(*upgrade_request).first
|
||||||
|
Loading…
x
Reference in New Issue
Block a user