From 24fd73313e767c736f5b5f427391ff48bd07847c Mon Sep 17 00:00:00 2001 From: Jeroen Schickendantz <60529194+Schickendantzj@users.noreply.github.com> Date: Thu, 18 Aug 2022 20:45:09 -0400 Subject: Force No Compression Force http-compression off by: Sending header "Accept-Encoding: identity" in request. Checking header "Content-Encoding" in response. --- rpm/rpm.go | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'rpm') diff --git a/rpm/rpm.go b/rpm/rpm.go index 607cffa..3b32273 100644 --- a/rpm/rpm.go +++ b/rpm/rpm.go @@ -127,11 +127,19 @@ func Probe( return err } + // Used to disable compression + probe_req.Header.Set("Accept-Encoding", "identity") + probe_resp, err := client.Do(probe_req) if err != nil { return err } + // Header.Get returns "" when not set + if probe_resp.Header.Get("Content-Encoding") != "" { + return fmt.Errorf("Content-Encoding header was set (compression not allowed)") + } + // TODO: Make this interruptable somehow by using _ctx_. _, err = io.ReadAll(probe_resp.Body) if err != nil { -- cgit v1.2.3