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

Function allowedToSeeEvent

federationapi/routing/events.go:56–82  ·  view source on GitHub ↗

allowedToSeeEvent returns no error if the server is allowed to see this event, otherwise it returns an error response which can be sent to the client.

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

Source from the content-addressed store, hash-verified

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.
56func allowedToSeeEvent(
57 ctx context.Context,
58 origin gomatrixserverlib.ServerName,
59 rsAPI api.FederationRoomserverAPI,
60 eventID string,
61) *util.JSONResponse {
62 var authResponse api.QueryServerAllowedToSeeEventResponse
63 err := rsAPI.QueryServerAllowedToSeeEvent(
64 ctx,
65 &api.QueryServerAllowedToSeeEventRequest{
66 EventID: eventID,
67 ServerName: origin,
68 },
69 &authResponse,
70 )
71 if err != nil {
72 resErr := util.ErrorResponse(err)
73 return &resErr
74 }
75
76 if !authResponse.AllowedToSeeEvent {
77 resErr := util.MessageResponse(http.StatusForbidden, "server not allowed to see event")
78 return &resErr
79 }
80
81 return nil
82}
83
84// fetchEvent fetches the event without auth checks. Returns an error if the event cannot be found.
85func fetchEvent(ctx context.Context, rsAPI api.FederationRoomserverAPI, eventID string) (*gomatrixserverlib.Event, *util.JSONResponse) {

Callers 3

GetEventAuthFunction · 0.85
getStateFunction · 0.85
GetEventFunction · 0.85

Calls 1

Tested by

no test coverage detected