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

Function extractRequestData

clientapi/routing/membership.go:353–381  ·  view source on GitHub ↗
(req *http.Request, roomID string, rsAPI roomserverAPI.ClientRoomserverAPI)

Source from the content-addressed store, hash-verified

351}
352
353func extractRequestData(req *http.Request, roomID string, rsAPI roomserverAPI.ClientRoomserverAPI) (
354 body *threepid.MembershipRequest, evTime time.Time, roomVer gomatrixserverlib.RoomVersion, resErr *util.JSONResponse,
355) {
356 verReq := roomserverAPI.QueryRoomVersionForRoomRequest{RoomID: roomID}
357 verRes := roomserverAPI.QueryRoomVersionForRoomResponse{}
358 if err := rsAPI.QueryRoomVersionForRoom(req.Context(), &verReq, &verRes); err != nil {
359 resErr = &util.JSONResponse{
360 Code: http.StatusBadRequest,
361 JSON: jsonerror.UnsupportedRoomVersion(err.Error()),
362 }
363 return
364 }
365 roomVer = verRes.RoomVersion
366
367 if reqErr := httputil.UnmarshalJSONRequest(req, &body); reqErr != nil {
368 resErr = reqErr
369 return
370 }
371
372 evTime, err := httputil.ParseTSParam(req)
373 if err != nil {
374 resErr = &util.JSONResponse{
375 Code: http.StatusBadRequest,
376 JSON: jsonerror.InvalidArgumentValue(err.Error()),
377 }
378 return
379 }
380 return
381}
382
383func checkAndProcessThreepid(
384 req *http.Request,

Callers 4

SendBanFunction · 0.85
SendKickFunction · 0.85
SendUnbanFunction · 0.85
SendInviteFunction · 0.85

Calls 3

ContextMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected