diff --git a/model/notification.go b/model/notification.go index 11e094f..7301f2a 100644 --- a/model/notification.go +++ b/model/notification.go @@ -75,14 +75,15 @@ func (n *Notification) reqBody(message string) (string, error) { return "", errors.New("不支持的请求类型") } -func (n *Notification) reqContentType() string { +func (n *Notification) setContentType(req *http.Request) { if n.RequestMethod == NotificationRequestMethodGET { - return "" + return } if n.RequestType == NotificationRequestTypeForm { - return "application/x-www-form-urlencoded" + req.Header.Set("Content-Type", "application/x-www-form-urlencoded") + } else { + req.Header.Set("Content-Type", "application/json") } - return "application/json" } func (n *Notification) setRequestHeader(req *http.Request) error { @@ -122,6 +123,8 @@ func (n *Notification) Send(message string) error { return err } + n.setContentType(req) + if err := n.setRequestHeader(req); err != nil { return err } diff --git a/model/notification_test.go b/model/notification_test.go index 9d0e3a9..c16fcef 100644 --- a/model/notification_test.go +++ b/model/notification_test.go @@ -7,9 +7,7 @@ import ( ) var ( - msg = "msg" - reqTypeForm = "application/x-www-form-urlencoded" - reqTypeJSON = "application/json" + msg = "msg" ) type testSt struct { @@ -19,7 +17,6 @@ type testSt struct { reqMethod int expectURL string expectBody string - expectType string } func execCase(t *testing.T, item testSt) { @@ -33,7 +30,6 @@ func execCase(t *testing.T, item testSt) { reqBody, err := n.reqBody(msg) assert.Nil(t, err) assert.Equal(t, item.expectBody, reqBody) - assert.Equal(t, item.expectType, n.reqContentType()) } func TestNotification(t *testing.T) { @@ -44,7 +40,6 @@ func TestNotification(t *testing.T) { reqMethod: NotificationRequestMethodGET, expectURL: "https://example.com", expectBody: "", - expectType: "", }, { url: "https://example.com/?m=#NEZHA#", @@ -52,7 +47,6 @@ func TestNotification(t *testing.T) { reqMethod: NotificationRequestMethodGET, expectURL: "https://example.com/?m=" + msg, expectBody: "", - expectType: "", }, { url: "https://example.com/?m=#NEZHA#", @@ -61,7 +55,6 @@ func TestNotification(t *testing.T) { reqType: NotificationRequestTypeForm, expectURL: "https://example.com/?m=" + msg, expectBody: "asd=" + msg, - expectType: reqTypeForm, }, { url: "https://example.com/?m=#NEZHA#", @@ -70,7 +63,6 @@ func TestNotification(t *testing.T) { reqType: NotificationRequestTypeForm, expectURL: "https://example.com/?m=" + msg, expectBody: "%23NEZHA%23=" + msg, - expectType: reqTypeForm, }, { url: "https://example.com/?m=#NEZHA#", @@ -79,7 +71,6 @@ func TestNotification(t *testing.T) { reqType: NotificationRequestTypeJSON, expectURL: "https://example.com/?m=" + msg, expectBody: `{"asd":"msg"}`, - expectType: reqTypeJSON, }, { url: "https://example.com/?m=#NEZHA#", @@ -88,7 +79,6 @@ func TestNotification(t *testing.T) { reqType: NotificationRequestTypeJSON, expectURL: "https://example.com/?m=" + msg, expectBody: `{"msg":"msg"}`, - expectType: reqTypeJSON, }, }