mirror of
https://github.com/HoneyryderChuck/httpx.git
synced 2025-08-10 00:01:27 -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
|
||||
|
||||
UPCASED = {
|
||||
"www-authenticate" => "WWW-Authenticate",
|
||||
"http2-settings" => "HTTP2-Settings"
|
||||
}
|
||||
|
||||
def capitalized(field)
|
||||
field.to_s.split("-").map(&:capitalize).join("-")
|
||||
UPCASED[field] || field.to_s.split("-").map(&:capitalize).join("-")
|
||||
end
|
||||
end
|
||||
Channel.register "http/1.1", Channel::HTTP1
|
||||
|
@ -16,6 +16,8 @@ module HTTPX
|
||||
upgrade_request = requests.first
|
||||
return super unless valid_h2c_upgrade_request?(upgrade_request)
|
||||
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)
|
||||
# TODO: validate!
|
||||
upgrade_response = __send_reqs(*upgrade_request).first
|
||||
|
Loading…
x
Reference in New Issue
Block a user