mirror of https://github.com/statping/statping
fix(216): fix presence of sign = in header values
parent
85b4129b08
commit
c68e149328
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -298,7 +298,7 @@ func HttpRequest(url, method string, content interface{}, headers []string, body
|
||||||
req.Header.Set("Content-Type", content.(string))
|
req.Header.Set("Content-Type", content.(string))
|
||||||
}
|
}
|
||||||
for _, h := range headers {
|
for _, h := range headers {
|
||||||
keyVal := strings.Split(h, "=")
|
keyVal := strings.SplitN(h, "=", 2)
|
||||||
if len(keyVal) == 2 {
|
if len(keyVal) == 2 {
|
||||||
if keyVal[0] != "" && keyVal[1] != "" {
|
if keyVal[0] != "" && keyVal[1] != "" {
|
||||||
req.Header.Set(keyVal[0], keyVal[1])
|
req.Header.Set(keyVal[0], keyVal[1])
|
||||||
|
|
|
@ -20,6 +20,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"net/http/httptest"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
@ -172,3 +173,23 @@ func TestRandomString(t *testing.T) {
|
||||||
func TestDeleteDirectory(t *testing.T) {
|
func TestDeleteDirectory(t *testing.T) {
|
||||||
assert.Nil(t, DeleteDirectory(Directory+"/logs"))
|
assert.Nil(t, DeleteDirectory(Directory+"/logs"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestHttpRequest(t *testing.T) {
|
||||||
|
// Start a local HTTP server
|
||||||
|
server := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {
|
||||||
|
// Test request parameters
|
||||||
|
assert.Equal(t, req.URL.String(), "/")
|
||||||
|
assert.Equal(t, req.Header["Aaa"], []string{"bbbb="})
|
||||||
|
assert.Equal(t, req.Header["Ccc"], []string{"ddd"})
|
||||||
|
// Send response to be tested
|
||||||
|
rw.Write([]byte(`OK`))
|
||||||
|
}))
|
||||||
|
// Close the server when test finishes
|
||||||
|
defer server.Close()
|
||||||
|
|
||||||
|
body, resp, err := HttpRequest(server.URL, "GET", "application/json", []string{"aaa=bbbb=", "ccc=ddd"}, nil, 2*time.Second)
|
||||||
|
|
||||||
|
assert.Nil(t, err)
|
||||||
|
assert.Equal(t, []byte("OK"), body)
|
||||||
|
assert.Equal(t, resp.StatusCode, 200)
|
||||||
|
}
|
Loading…
Reference in New Issue