GetMessageAnswer @Title GetMessageAnswer @Tag Message API @Description get message answer @Param id query string true "The id of message" @Success 200 {stream} string "An event stream of message answers in JSON format" @router /get-message-answer [get]
()
| 41 | // @Success 200 {stream} string "An event stream of message answers in JSON format" |
| 42 | // @router /get-message-answer [get] |
| 43 | func (c *ApiController) GetMessageAnswer() { |
| 44 | id := c.Input().Get("id") |
| 45 | _, signedIn := c.CheckSignedIn() |
| 46 | |
| 47 | message, err := object.GetMessage(id) |
| 48 | if err != nil { |
| 49 | c.ResponseError(err.Error()) |
| 50 | return |
| 51 | } |
| 52 | if message != nil { |
| 53 | ok := c.IsCurrentUser(message.User) |
| 54 | if !ok { |
| 55 | return |
| 56 | } |
| 57 | } |
| 58 | |
| 59 | c.Ctx.ResponseWriter.Header().Set("Content-Type", "text/event-stream") |
| 60 | c.Ctx.ResponseWriter.Header().Set("Cache-Control", "no-cache") |
| 61 | c.Ctx.ResponseWriter.Header().Set("Connection", "keep-alive") |
| 62 | |
| 63 | job := messageAnswerJobs.getOrStart(id, c.Ctx.Request.Host, c.GetAcceptLanguage(), signedIn) |
| 64 | streamMessageAnswerJob(c.Ctx.ResponseWriter, c.Ctx.Request, job) |
| 65 | } |
| 66 | |
| 67 | // CancelMessageAnswer |
| 68 | // @Title CancelMessageAnswer |
nothing calls this directly
no test coverage detected