MCPcopy Create free account
hub / github.com/daodst/chat / GetEvent

Function GetEvent

federationapi/routing/events.go:29–52  ·  view source on GitHub ↗

GetEvent returns the requested event

(
	ctx context.Context,
	request *gomatrixserverlib.FederationRequest,
	rsAPI api.FederationRoomserverAPI,
	eventID string,
	origin gomatrixserverlib.ServerName,
)

Source from the content-addressed store, hash-verified

27
28// GetEvent returns the requested event
29func 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.

Callers 1

SetupFunction · 0.70

Calls 2

allowedToSeeEventFunction · 0.85
fetchEventFunction · 0.85

Tested by

no test coverage detected