From 67e504ced6b7219cf2cf96e19726bf4e2b87b9c6 Mon Sep 17 00:00:00 2001 From: bel Date: Sun, 26 Mar 2023 09:25:48 -0600 Subject: [PATCH] accept say in headers for more length --- src/device/input/parse/v01/server.go | 3 +++ src/device/input/parse/v01/v01_exported_test.go | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/device/input/parse/v01/server.go b/src/device/input/parse/v01/server.go index 47b3f4c..5ddd722 100644 --- a/src/device/input/parse/v01/server.go +++ b/src/device/input/parse/v01/server.go @@ -80,6 +80,9 @@ func (v01 *V01) globalQueries(r *http.Request) { func (v01 *V01) globalQuerySay(r *http.Request) { text := r.URL.Query().Get("say") + if text == "" { + text = r.Header.Get("say") + } if text == "" { return } diff --git a/src/device/input/parse/v01/v01_exported_test.go b/src/device/input/parse/v01/v01_exported_test.go index 40ddd27..1afbc98 100644 --- a/src/device/input/parse/v01/v01_exported_test.go +++ b/src/device/input/parse/v01/v01_exported_test.go @@ -170,7 +170,9 @@ func TestV01Feedback(t *testing.T) { resp.Body.Close() } time.Sleep(time.Millisecond * 2500) - resp, err := http.Get("http://localhost:27071/?say=URL%20encoding%2C%20also%20known%20as%20percent%20encoding%2C%20is%20a%20way%20to%20encode%20or%20escape%20reserved%2C%20unprintable%2C%20or%20non-ASCII%20characters%20in%20URLs%20to%20a%20safe%20and%20secure%20format") + r, _ := http.NewRequest(http.MethodGet, "http://localhost:27071", nil) + r.Header.Set("say", "No, HTTP does not define any limit. However most web servers do limit size of headers they accept. For example in Apache default limit is 8KB, in IIS it's 16K. Server will return 413 Entity Too Large error if headers size exceeds that limit.") + resp, err := http.DefaultClient.Do(r) if err != nil { t.Fatal(err) }