GetEvent returns the requested event
( ctx context.Context, request *gomatrixserverlib.FederationRequest, rsAPI api.FederationRoomserverAPI, eventID string, origin gomatrixserverlib.ServerName, )
| 27 | |
| 28 | // GetEvent returns the requested event |
| 29 | func GetEvent( |
| 30 | ctx context.Context, |
| 31 | request *gomatrixserverlib.FederationRequest, |
| 32 | rsAPI api.FederationRoomserverAPI, |
| 33 | eventID string, |
| 34 | origin gomatrixserverlib.ServerName, |
| 35 | ) util.JSONResponse { |
| 36 | err := allowedToSeeEvent(ctx, request.Origin(), rsAPI, eventID) |
| 37 | if err != nil { |
| 38 | return *err |
| 39 | } |
| 40 | event, err := fetchEvent(ctx, rsAPI, eventID) |
| 41 | if err != nil { |
| 42 | return *err |
| 43 | } |
| 44 | |
| 45 | return util.JSONResponse{Code: http.StatusOK, JSON: gomatrixserverlib.Transaction{ |
| 46 | Origin: origin, |
| 47 | OriginServerTS: gomatrixserverlib.AsTimestamp(time.Now()), |
| 48 | PDUs: []json.RawMessage{ |
| 49 | event.JSON(), |
| 50 | }, |
| 51 | }} |
| 52 | } |
| 53 | |
| 54 | // allowedToSeeEvent returns no error if the server is allowed to see this event, |
| 55 | // otherwise it returns an error response which can be sent to the client. |
no test coverage detected