Add JSON publishing support
This commit is contained in:
@@ -2027,6 +2027,9 @@ func (s *Server) transformBodyJSON(next handleFunc) handleFunc {
|
|||||||
if m.Firebase != "" {
|
if m.Firebase != "" {
|
||||||
r.Header.Set("X-Firebase", m.Firebase)
|
r.Header.Set("X-Firebase", m.Firebase)
|
||||||
}
|
}
|
||||||
|
if m.SequenceID != "" {
|
||||||
|
r.Header.Set("X-Sequence-ID", m.SequenceID)
|
||||||
|
}
|
||||||
return next(w, r, v)
|
return next(w, r, v)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -727,6 +727,18 @@ func TestServer_PublishWithSIDViaGet(t *testing.T) {
|
|||||||
require.Equal(t, "sid1", msg.SequenceID)
|
require.Equal(t, "sid1", msg.SequenceID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestServer_PublishAsJSON_WithSequenceID(t *testing.T) {
|
||||||
|
s := newTestServer(t, newTestConfig(t))
|
||||||
|
|
||||||
|
body := `{"topic":"mytopic","message":"A message","sequence_id":"my-sequence-123"}`
|
||||||
|
response := request(t, s, "PUT", "/", body, nil)
|
||||||
|
require.Equal(t, 200, response.Code)
|
||||||
|
|
||||||
|
msg := toMessage(t, response.Body.String())
|
||||||
|
require.NotEmpty(t, msg.ID)
|
||||||
|
require.Equal(t, "my-sequence-123", msg.SequenceID)
|
||||||
|
}
|
||||||
|
|
||||||
func TestServer_PublishWithInvalidSIDInPath(t *testing.T) {
|
func TestServer_PublishWithInvalidSIDInPath(t *testing.T) {
|
||||||
s := newTestServer(t, newTestConfig(t))
|
s := newTestServer(t, newTestConfig(t))
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user