mirror of
https://github.com/muety/wakapi.git
synced 2023-08-10 21:12:56 +03:00
fix: return proper response to heartbeat requests (resolve #46)
This commit is contained in:
parent
0af7d2f8ef
commit
c0d6855546
@ -23,6 +23,10 @@ func NewHeartbeatHandler(heartbeatService *services.HeartbeatService) *Heartbeat
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type heartbeatResponseVm struct {
|
||||||
|
Responses [][]interface{} `json:"responses"`
|
||||||
|
}
|
||||||
|
|
||||||
func (h *HeartbeatHandler) ApiPost(w http.ResponseWriter, r *http.Request) {
|
func (h *HeartbeatHandler) ApiPost(w http.ResponseWriter, r *http.Request) {
|
||||||
var heartbeats []*models.Heartbeat
|
var heartbeats []*models.Heartbeat
|
||||||
user := r.Context().Value(models.UserKey).(*models.User)
|
user := r.Context().Value(models.UserKey).(*models.User)
|
||||||
@ -55,5 +59,23 @@ func (h *HeartbeatHandler) ApiPost(w http.ResponseWriter, r *http.Request) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
w.WriteHeader(http.StatusCreated)
|
utils.RespondJSON(w, http.StatusCreated, constructSuccessResponse(len(heartbeats)))
|
||||||
|
}
|
||||||
|
|
||||||
|
// construct weird response format (see https://github.com/wakatime/wakatime/blob/2e636d389bf5da4e998e05d5285a96ce2c181e3d/wakatime/api.py#L288)
|
||||||
|
// to make the cli consider all heartbeats to having been successfully saved
|
||||||
|
// response looks like: { "responses": [ [ { "data": {...} }, 201 ], ... ] }
|
||||||
|
func constructSuccessResponse(n int) *heartbeatResponseVm {
|
||||||
|
responses := make([][]interface{}, n)
|
||||||
|
|
||||||
|
for i := 0; i < n; i++ {
|
||||||
|
r := make([]interface{}, 2)
|
||||||
|
r[0] = nil
|
||||||
|
r[1] = http.StatusCreated
|
||||||
|
responses[i] = r
|
||||||
|
}
|
||||||
|
|
||||||
|
return &heartbeatResponseVm{
|
||||||
|
Responses: responses,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
1.7.4
|
1.7.5
|
Loading…
Reference in New Issue
Block a user