From a8b97e133e812f18b994581c94deba8ddb2d0da7 Mon Sep 17 00:00:00 2001 From: "Jay R. Wren" Date: Mon, 21 Oct 2019 18:30:47 -0400 Subject: [PATCH] allow forcing HTTP2 Use special ForceAttemptHTTP2 "header" to set the value on transport. The header is not actually set in the HTTP request. --- request-headers.go | 1 + wuzz.go | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/request-headers.go b/request-headers.go index 2fa9590..eaea3cf 100644 --- a/request-headers.go +++ b/request-headers.go @@ -16,6 +16,7 @@ var REQUEST_HEADERS = []string{ "Date", "Expect", "Forwarded", + "ForceAttemptHTTP2", "From", "Host", "If-Match", diff --git a/wuzz.go b/wuzz.go index b05e358..7ee1e78 100644 --- a/wuzz.go +++ b/wuzz.go @@ -773,6 +773,7 @@ func (a *App) SubmitRequest(g *gocui.Gui, _ *gocui.View) error { headers := http.Header{} headers.Set("User-Agent", "") r.Headers = getViewValue(g, REQUEST_HEADERS_VIEW) + TRANSPORT.ForceAttemptHTTP2 = false for _, header := range strings.Split(r.Headers, "\n") { if header != "" { header_parts := strings.SplitN(header, ": ", 2) @@ -784,6 +785,12 @@ func (a *App) SubmitRequest(g *gocui.Gui, _ *gocui.View) error { }) return nil } + if header_parts[0] == "ForceAttemptHTTP2" { + switch strings.ToLower(header_parts[1])[0] { + case 't', 'y': + TRANSPORT.ForceAttemptHTTP2 = true + } + } headers.Set(header_parts[0], header_parts[1]) } }