diff --git a/src/async_impl/client.rs b/src/async_impl/client.rs index 94e1face..fc299f1e 100644 --- a/src/async_impl/client.rs +++ b/src/async_impl/client.rs @@ -309,6 +309,7 @@ impl Client { /// headers: typing.Optional[typing.Dict[str, bytes]] /// cookies: typing.Optional[typing.Dict[str, str]] /// protocols: typing.Optional[builtins.list[builtins.str]] + /// use_http2: typing.Optional[builtins.bool] /// auth: typing.Optional[builtins.str] /// bearer_auth: typing.Optional[builtins.str] /// basic_auth: typing.Optional[tuple[builtins.str, typing.Optional[builtins.str]]] diff --git a/src/async_impl/request.rs b/src/async_impl/request.rs index d9742781..ffcc2556 100644 --- a/src/async_impl/request.rs +++ b/src/async_impl/request.rs @@ -182,6 +182,15 @@ where accept_unmasked_frames ); + // Use http2 options. + apply_option!( + apply_option_or_default, + builder, + params.use_http2, + use_http2, + false + ); + // Network options. apply_option!( apply_transformed_option_ref, diff --git a/src/blocking/client.rs b/src/blocking/client.rs index 3b7e4149..b4b32d29 100644 --- a/src/blocking/client.rs +++ b/src/blocking/client.rs @@ -296,6 +296,7 @@ impl BlockingClient { /// headers: typing.Optional[typing.Dict[str, bytes]] /// cookies: typing.Optional[typing.Dict[str, str]] /// protocols: typing.Optional[builtins.list[builtins.str]] + /// use_http2: typing.Optional[builtins.bool] /// auth: typing.Optional[builtins.str] /// bearer_auth: typing.Optional[builtins.str] /// basic_auth: typing.Optional[tuple[builtins.str, typing.Optional[builtins.str]]] diff --git a/src/lib.rs b/src/lib.rs index 7efc8e7f..67a63093 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -279,6 +279,7 @@ fn request( /// headers: typing.Optional[typing.Dict[str, bytes]] /// cookies: typing.Optional[typing.Dict[str, str]] /// protocols: typing.Optional[builtins.list[builtins.str]] +/// use_http2: typing.Optional[builtins.bool] /// auth: typing.Optional[builtins.str] /// bearer_auth: typing.Optional[builtins.str] /// basic_auth: typing.Optional[tuple[builtins.str, typing.Optional[builtins.str]]] diff --git a/src/param/ws.rs b/src/param/ws.rs index a683cdf7..2be1e65a 100644 --- a/src/param/ws.rs +++ b/src/param/ws.rs @@ -23,6 +23,9 @@ pub struct WebSocketParams { /// The protocols to use for the request. pub protocols: Option>, + /// Whether to use HTTP/2 for the websocket. + pub use_http2: Option, + /// The authentication to use for the request. pub auth: Option, @@ -91,6 +94,7 @@ impl<'py> FromPyObject<'py> for WebSocketParams { extract_option!(ob, params, local_address); extract_option!(ob, params, interface); + extract_option!(ob, params, use_http2); extract_option!(ob, params, headers); extract_option!(ob, params, cookies); extract_option!(ob, params, protocols);