HEX
Server: LiteSpeed
System: Linux br-asc-web1845.main-hosting.eu 5.14.0-611.42.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 24 05:30:20 EDT 2026 x86_64
User: u790421558 (790421558)
PHP: 8.2.30
Disabled: system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/go/pkg/mod/github.com/aws/aws-sdk-go@v1.50.8/internal/encoding/gzip/handler_test.go
package gzip

import (
	"bytes"
	"io/ioutil"
	"net/http"
	"strconv"
	"strings"
	"testing"

	"github.com/aws/aws-sdk-go/aws/request"
)

func TestGzipRequestHandler(t *testing.T) {
	handler := NewGzipRequestHandler()

	req := &request.Request{}
	uncompressed := "asdfasdfasdf"
	req.Body = strings.NewReader(uncompressed)
	httpReq, err := http.NewRequest("POST", "http://localhost", strings.NewReader(uncompressed))
	if err != nil {
		panic(err)
	}
	req.HTTPRequest = httpReq

	expectCompressed, err := compress(strings.NewReader(uncompressed))
	if err != nil {
		t.Fatalf("expect no error, got %v", err)
	}

	handler.Fn(req)
	if req.Error != nil {
		t.Fatalf("expect no error, got %v", req.Error)
	}

	if e, a := "gzip", req.HTTPRequest.Header.Get("Content-Encoding"); e != a {
		t.Errorf("expect %v content-encoding, got %v", e, a)
	}
	if e, a := strconv.Itoa(len(expectCompressed)), req.HTTPRequest.Header.Get("Content-Length"); e != a {
		t.Errorf("expect %v content-length, got %v", e, a)
	}

	actualCompressed, err := ioutil.ReadAll(req.Body)
	if err != nil {
		t.Fatalf("ReadAll request body failed, %v", err)
	}
	if !bytes.Equal(expectCompressed, actualCompressed) {
		t.Errorf("expect new body to equal expectCompressed")
	}
}