Skip to content

Commit 888fd4e

Browse files
gschierclaude
andcommitted
feat(settings): add HTTP version as an inherited request setting
Adds an http_version setting (auto, HTTP/1.1, HTTP/2) to the existing workspace/folder/request settings-override system, for servers that fail when the negotiated version isn't the one they expect. Forcing a version also constrains TLS ALPN on both the rustls and native-tls paths, since hyper refuses to speak a protocol ALPN didn't negotiate. The connection cache key now includes the options that affect how the client is built (validate_certificates, http_version) so a settings change takes effect on the next send instead of after the 10 minute client cache TTL. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 6777003 commit 888fd4e

16 files changed

Lines changed: 860 additions & 139 deletions

File tree

crates-server/yaak-web/bindings/gen_models.ts

Lines changed: 111 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates-server/yaak-web/src/send.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ impl PreparedSend {
157157
let (client, resolver) = HttpConnectionOptions {
158158
id: uuid::Uuid::new_v4().to_string(),
159159
validate_certificates: self.settings.validate_certificates,
160+
http_version: self.settings.http_version,
160161
// The proxy connects directly. Going through a system proxy would move DNS, and
161162
// therefore the address check, somewhere this process can't see.
162163
proxy: HttpConnectionProxySetting::Disabled,

0 commit comments

Comments
 (0)