summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--model/command_response.go3
-rw-r--r--model/command_response_test.go1
2 files changed, 3 insertions, 1 deletions
diff --git a/model/command_response.go b/model/command_response.go
index 0b80b297b..d17bd00e3 100644
--- a/model/command_response.go
+++ b/model/command_response.go
@@ -7,6 +7,7 @@ import (
"encoding/json"
"io"
"io/ioutil"
+ "strings"
)
const (
@@ -33,7 +34,7 @@ func (o *CommandResponse) ToJson() string {
}
func CommandResponseFromHTTPBody(contentType string, body io.Reader) *CommandResponse {
- if contentType == "application/json" {
+ if strings.TrimSpace(strings.Split(contentType, ";")[0]) == "application/json" {
return CommandResponseFromJson(body)
}
if b, err := ioutil.ReadAll(body); err == nil {
diff --git a/model/command_response_test.go b/model/command_response_test.go
index 19be796b8..dde8d032b 100644
--- a/model/command_response_test.go
+++ b/model/command_response_test.go
@@ -27,6 +27,7 @@ func TestCommandResponseFromHTTPBody(t *testing.T) {
{"", "foo", "foo"},
{"text/plain", "foo", "foo"},
{"application/json", `{"text": "foo"}`, "foo"},
+ {"application/json; charset=utf-8", `{"text": "foo"}`, "foo"},
} {
response := CommandResponseFromHTTPBody(test.ContentType, strings.NewReader(test.Body))
if response.Text != test.ExpectedText {