diff --git a/rest/handler/cryptionhandler_test.go b/rest/handler/cryptionhandler_test.go index 2957d193..0d9fba47 100644 --- a/rest/handler/cryptionhandler_test.go +++ b/rest/handler/cryptionhandler_test.go @@ -5,6 +5,7 @@ import ( "encoding/base64" "io/ioutil" "log" + "math/rand" "net/http" "net/http/httptest" "testing" @@ -116,3 +117,18 @@ func TestCryptionHandler_Hijack(t *testing.T) { writer.Hijack() }) } + +func TestCryptionHandler_ContentTooLong(t *testing.T) { + handler := CryptionHandler(aesKey)(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + })) + svr := httptest.NewServer(handler) + defer svr.Close() + + body := make([]byte, maxBytes+1) + rand.Read(body) + req, err := http.NewRequest(http.MethodPost, svr.URL, bytes.NewReader(body)) + assert.Nil(t, err) + resp, err := http.DefaultClient.Do(req) + assert.Nil(t, err) + assert.Equal(t, http.StatusBadRequest, resp.StatusCode) +} diff --git a/tools/goctl/Makefile b/tools/goctl/Makefile index 3f4f8336..14a725e5 100644 --- a/tools/goctl/Makefile +++ b/tools/goctl/Makefile @@ -1,12 +1,15 @@ build: go build -ldflags="-s -w" goctl.go $(if $(shell command -v upx), upx goctl) + mac: GOOS=darwin go build -ldflags="-s -w" -o goctl-darwin goctl.go $(if $(shell command -v upx), upx goctl-darwin) + win: GOOS=windows go build -ldflags="-s -w" -o goctl.exe goctl.go $(if $(shell command -v upx), upx goctl.exe) + linux: GOOS=linux go build -ldflags="-s -w" -o goctl-linux goctl.go $(if $(shell command -v upx), upx goctl-linux)