Documentation ¶
Index ¶
- Variables
- func AdminCreateNewRegistrationToken(req *http.Request, cfg *config.ClientAPI, userAPI userapi.ClientUserAPI) util.JSONResponse
- func AdminDeleteRegistrationToken(req *http.Request, cfg *config.ClientAPI, userAPI userapi.ClientUserAPI) util.JSONResponse
- func AdminDownloadState(req *http.Request, device *api.Device, rsAPI roomserverAPI.ClientRoomserverAPI) util.JSONResponse
- func AdminEvacuateRoom(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI) util.JSONResponse
- func AdminEvacuateUser(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI) util.JSONResponse
- func AdminGetRegistrationToken(req *http.Request, cfg *config.ClientAPI, userAPI userapi.ClientUserAPI) util.JSONResponse
- func AdminListRegistrationTokens(req *http.Request, cfg *config.ClientAPI, userAPI userapi.ClientUserAPI) util.JSONResponse
- func AdminMarkAsStale(req *http.Request, cfg *config.ClientAPI, keyAPI userapi.ClientKeyAPI) util.JSONResponse
- func AdminPurgeRoom(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI) util.JSONResponse
- func AdminReindex(req *http.Request, cfg *config.ClientAPI, device *api.Device, ...) util.JSONResponse
- func AdminResetPassword(req *http.Request, cfg *config.ClientAPI, device *api.Device, ...) util.JSONResponse
- func AdminUpdateRegistrationToken(req *http.Request, cfg *config.ClientAPI, userAPI userapi.ClientUserAPI) util.JSONResponse
- func AuthFallback(w http.ResponseWriter, req *http.Request, authType string, ...)
- func CheckAndSave3PIDAssociation(req *http.Request, threePIDAPI api.ClientUserAPI, device *api.Device, ...) util.JSONResponse
- func ClaimKeys(req *http.Request, keyAPI api.ClientKeyAPI) util.JSONResponse
- func CreateKeyBackupVersion(req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device) util.JSONResponse
- func CreateOpenIDToken(req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ...) util.JSONResponse
- func CreateRoom(req *http.Request, device *api.Device, cfg *config.ClientAPI, ...) util.JSONResponse
- func Deactivate(req *http.Request, userInteractiveAuth *auth.UserInteractive, ...) util.JSONResponse
- func DeleteDeviceById(req *http.Request, userInteractiveAuth *auth.UserInteractive, ...) util.JSONResponse
- func DeleteDevices(req *http.Request, userInteractiveAuth *auth.UserInteractive, ...) util.JSONResponse
- func DeleteEventReport(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, reportID string) util.JSONResponse
- func DeleteKeyBackupVersion(req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device, ...) util.JSONResponse
- func DeletePushRuleByRuleID(ctx context.Context, scope, kind, ruleID string, device *userapi.Device, ...) util.JSONResponse
- func DeleteTag(req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ...) util.JSONResponse
- func DirectoryRoom(req *http.Request, roomAlias string, federation fclient.FederationClient, ...) util.JSONResponse
- func Forget3PID(req *http.Request, threepidAPI api.ClientUserAPI) util.JSONResponse
- func GetAccountData(req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ...) util.JSONResponse
- func GetAdminWhois(req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ...) util.JSONResponse
- func GetAliases(req *http.Request, rsAPI api.ClientRoomserverAPI, device *userapi.Device, ...) util.JSONResponse
- func GetAllPushRules(ctx context.Context, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse
- func GetAssociated3PIDs(req *http.Request, threepidAPI api.ClientUserAPI, device *api.Device) util.JSONResponse
- func GetAvatarURL(req *http.Request, profileAPI userapi.ProfileAPI, cfg *config.ClientAPI, ...) util.JSONResponse
- func GetBackupKeys(req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device, ...) util.JSONResponse
- func GetCapabilities(rsAPI roomserverAPI.ClientRoomserverAPI) util.JSONResponse
- func GetDeviceByID(req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ...) util.JSONResponse
- func GetDevicesByLocalpart(req *http.Request, userAPI api.ClientUserAPI, device *api.Device) util.JSONResponse
- func GetDisplayName(req *http.Request, profileAPI userapi.ProfileAPI, cfg *config.ClientAPI, ...) util.JSONResponse
- func GetEventReport(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, reportID string) util.JSONResponse
- func GetEventReports(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, from, limit uint64, ...) util.JSONResponse
- func GetJoinedMembers(req *http.Request, device *userapi.Device, roomID string, ...) util.JSONResponse
- func GetJoinedRooms(req *http.Request, device *userapi.Device, rsAPI api.ClientRoomserverAPI) util.JSONResponse
- func GetNotifications(req *http.Request, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse
- func GetPostPublicRooms(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, ...) util.JSONResponse
- func GetPresence(req *http.Request, device *api.Device, natsClient *nats.Conn, ...) util.JSONResponse
- func GetProfile(req *http.Request, profileAPI userapi.ProfileAPI, cfg *config.ClientAPI, ...) util.JSONResponse
- func GetPushRuleAttrByRuleID(ctx context.Context, scope, kind, ruleID, attr string, device *userapi.Device, ...) util.JSONResponse
- func GetPushRuleByRuleID(ctx context.Context, scope, kind, ruleID string, device *userapi.Device, ...) util.JSONResponse
- func GetPushRulesByKind(ctx context.Context, scope, kind string, device *userapi.Device, ...) util.JSONResponse
- func GetPushRulesByScope(ctx context.Context, scope string, device *userapi.Device, ...) util.JSONResponse
- func GetPushers(req *http.Request, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse
- func GetTags(req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ...) util.JSONResponse
- func GetVisibility(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, roomID string) util.JSONResponse
- func JoinRoomByIDOrAlias(req *http.Request, device *api.Device, rsAPI roomserverAPI.ClientRoomserverAPI, ...) util.JSONResponse
- func KeyBackupVersion(req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device, ...) util.JSONResponse
- func LeaveRoomByID(req *http.Request, device *api.Device, rsAPI roomserverAPI.ClientRoomserverAPI, ...) util.JSONResponse
- func Location(req *http.Request, asAPI appserviceAPI.AppServiceInternalAPI, ...) util.JSONResponse
- func Login(req *http.Request, userAPI userapi.ClientUserAPI, cfg *config.ClientAPI) util.JSONResponse
- func Logout(req *http.Request, userAPI api.ClientUserAPI, device *api.Device) util.JSONResponse
- func LogoutAll(req *http.Request, userAPI api.ClientUserAPI, device *api.Device) util.JSONResponse
- func ModifyKeyBackupVersionAuthData(req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device, ...) util.JSONResponse
- func OnIncomingStateRequest(ctx context.Context, device *userapi.Device, rsAPI api.ClientRoomserverAPI, ...) util.JSONResponse
- func OnIncomingStateTypeRequest(ctx context.Context, device *userapi.Device, rsAPI api.ClientRoomserverAPI, ...) util.JSONResponse
- func Password(req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ...) util.JSONResponse
- func PeekRoomByIDOrAlias(req *http.Request, device *api.Device, rsAPI roomserverAPI.ClientRoomserverAPI, ...) util.JSONResponse
- func Protocols(req *http.Request, asAPI appserviceAPI.AppServiceInternalAPI, ...) util.JSONResponse
- func PutPushRuleAttrByRuleID(ctx context.Context, scope, kind, ruleID, attr string, body io.Reader, ...) util.JSONResponse
- func PutPushRuleByRuleID(ctx context.Context, scope, kind, ruleID, afterRuleID, beforeRuleID string, ...) util.JSONResponse
- func PutTag(req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ...) util.JSONResponse
- func QueryKeys(req *http.Request, keyAPI api.ClientKeyAPI, device *api.Device) util.JSONResponse
- func QueryRoomHierarchy(req *http.Request, device *userapi.Device, roomIDStr string, ...) util.JSONResponse
- func Register(req *http.Request, userAPI userapi.ClientUserAPI, cfg *config.ClientAPI) util.JSONResponse
- func RegisterAvailable(req *http.Request, cfg *config.ClientAPI, registerAPI userapi.ClientUserAPI) util.JSONResponse
- func RemoveLocalAlias(req *http.Request, device *userapi.Device, alias string, ...) util.JSONResponse
- func ReportEvent(req *http.Request, device *userAPI.Device, roomID, eventID string, ...) util.JSONResponse
- func RequestEmailToken(req *http.Request, threePIDAPI api.ClientUserAPI, cfg *config.ClientAPI, ...) util.JSONResponse
- func RequestTurnServer(req *http.Request, device *api.Device, cfg *config.ClientAPI) util.JSONResponse
- func SaveAccountData(req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ...) util.JSONResponse
- func SaveReadMarker(req *http.Request, userAPI api.ClientUserAPI, ...) util.JSONResponse
- func SearchUserDirectory(ctx context.Context, device *userapi.Device, rsAPI api.ClientRoomserverAPI, ...) util.JSONResponse
- func SendBan(req *http.Request, profileAPI userapi.ClientUserAPI, device *userapi.Device, ...) util.JSONResponse
- func SendEvent(req *http.Request, device *userapi.Device, roomID, eventType string, ...) util.JSONResponse
- func SendForget(req *http.Request, device *userapi.Device, roomID string, ...) util.JSONResponse
- func SendInvite(req *http.Request, profileAPI userapi.ClientUserAPI, device *userapi.Device, ...) util.JSONResponse
- func SendKick(req *http.Request, profileAPI userapi.ClientUserAPI, device *userapi.Device, ...) util.JSONResponse
- func SendRedaction(req *http.Request, device *userapi.Device, roomID, eventID string, ...) util.JSONResponse
- func SendServerNotice(req *http.Request, cfgNotices *config.ServerNotices, ...) util.JSONResponse
- func SendToDevice(req *http.Request, device *userapi.Device, ...) util.JSONResponse
- func SendTyping(req *http.Request, device *userapi.Device, roomID string, userID string, ...) util.JSONResponse
- func SendUnban(req *http.Request, profileAPI userapi.ClientUserAPI, device *userapi.Device, ...) util.JSONResponse
- func SetAvatarURL(req *http.Request, profileAPI userapi.ProfileAPI, device *userapi.Device, ...) util.JSONResponse
- func SetDisplayName(req *http.Request, profileAPI userapi.ProfileAPI, device *userapi.Device, ...) util.JSONResponse
- func SetLocalAlias(req *http.Request, device *userapi.Device, alias string, cfg *config.ClientAPI, ...) util.JSONResponse
- func SetPresence(req *http.Request, cfg *config.ClientAPI, device *api.Device, ...) util.JSONResponse
- func SetPusher(req *http.Request, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse
- func SetReceipt(req *http.Request, userAPI userapi.ClientUserAPI, ...) util.JSONResponse
- func SetVisibility(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, ...) util.JSONResponse
- func SetVisibilityAS(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, ...) util.JSONResponse
- func Setup(routers httputil.Routers, dendriteCfg *config.Dendrite, ...)
- func UnpeekRoomByID(req *http.Request, device *api.Device, rsAPI roomserverAPI.ClientRoomserverAPI, ...) util.JSONResponse
- func UpdateDeviceByID(req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ...) util.JSONResponse
- func UpgradeRoom(req *http.Request, device *userapi.Device, cfg *config.ClientAPI, ...) util.JSONResponse
- func UploadBackupKeys(req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device, ...) util.JSONResponse
- func UploadCrossSigningDeviceKeys(req *http.Request, userInteractiveAuth *auth.UserInteractive, ...) util.JSONResponse
- func UploadCrossSigningDeviceSignatures(req *http.Request, keyserverAPI api.ClientKeyAPI, device *api.Device) util.JSONResponse
- func UploadKeys(req *http.Request, keyAPI api.ClientKeyAPI, device *api.Device) util.JSONResponse
- func User(req *http.Request, asAPI appserviceAPI.AppServiceInternalAPI, ...) util.JSONResponse
- func UserIDIsWithinApplicationServiceNamespace(cfg *config.ClientAPI, userID string, appservice *config.ApplicationService) bool
- func UsernameMatchesExclusiveNamespaces(cfg *config.ClientAPI, username string) bool
- func UsernameMatchesMultipleExclusiveNamespaces(cfg *config.ClientAPI, username string) bool
- func Whoami(req *http.Request, device *api.Device) util.JSONResponse
- type PublicRoomReq
- type RoomHierarchyClientResponse
- type RoomHierarchyPaginationCache
- type SharedSecretRegistration
- type SharedSecretRegistrationRequest
- type ThreePIDsResponse
- type UserDirectoryResponse
- type WellKnownClientHomeserver
- type WellKnownClientResponse
- type WellKnownSlidingSyncProxy
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func AdminCreateNewRegistrationToken ¶
func AdminCreateNewRegistrationToken(req *http.Request, cfg *config.ClientAPI, userAPI userapi.ClientUserAPI) util.JSONResponse
func AdminDeleteRegistrationToken ¶
func AdminDeleteRegistrationToken(req *http.Request, cfg *config.ClientAPI, userAPI userapi.ClientUserAPI) util.JSONResponse
func AdminDownloadState ¶
func AdminDownloadState(req *http.Request, device *api.Device, rsAPI roomserverAPI.ClientRoomserverAPI) util.JSONResponse
func AdminEvacuateRoom ¶
func AdminEvacuateRoom(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI) util.JSONResponse
func AdminEvacuateUser ¶
func AdminEvacuateUser(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI) util.JSONResponse
func AdminGetRegistrationToken ¶
func AdminGetRegistrationToken(req *http.Request, cfg *config.ClientAPI, userAPI userapi.ClientUserAPI) util.JSONResponse
func AdminListRegistrationTokens ¶
func AdminListRegistrationTokens(req *http.Request, cfg *config.ClientAPI, userAPI userapi.ClientUserAPI) util.JSONResponse
func AdminMarkAsStale ¶
func AdminMarkAsStale(req *http.Request, cfg *config.ClientAPI, keyAPI userapi.ClientKeyAPI) util.JSONResponse
func AdminPurgeRoom ¶
func AdminPurgeRoom(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI) util.JSONResponse
func AdminReindex ¶
func AdminResetPassword ¶
func AdminResetPassword(req *http.Request, cfg *config.ClientAPI, device *api.Device, userAPI userapi.ClientUserAPI) util.JSONResponse
func AdminUpdateRegistrationToken ¶
func AdminUpdateRegistrationToken(req *http.Request, cfg *config.ClientAPI, userAPI userapi.ClientUserAPI) util.JSONResponse
func AuthFallback ¶
func AuthFallback( w http.ResponseWriter, req *http.Request, authType string, cfg *config.ClientAPI, )
AuthFallback implements GET and POST /auth/{authType}/fallback/web?session={sessionID}
func CheckAndSave3PIDAssociation ¶
func CheckAndSave3PIDAssociation( req *http.Request, threePIDAPI api.ClientUserAPI, device *api.Device, cfg *config.ClientAPI, client *fclient.Client, ) util.JSONResponse
CheckAndSave3PIDAssociation implements POST /account/3pid
func ClaimKeys ¶
func ClaimKeys(req *http.Request, keyAPI api.ClientKeyAPI) util.JSONResponse
func CreateKeyBackupVersion ¶
func CreateKeyBackupVersion(req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device) util.JSONResponse
Create a new key backup. Request must contain a `keyBackupVersion`. Returns a `keyBackupVersionCreateResponse`. Implements POST /_matrix/client/r0/room_keys/version
func CreateOpenIDToken ¶
func CreateOpenIDToken( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, userID string, cfg *config.ClientAPI, ) util.JSONResponse
CreateOpenIDToken creates a new OpenID Connect (OIDC) token that a Matrix user can supply to an OpenID Relying Party to verify their identity
func CreateRoom ¶
func CreateRoom( req *http.Request, device *api.Device, cfg *config.ClientAPI, profileAPI api.ClientUserAPI, rsAPI roomserverAPI.ClientRoomserverAPI, asAPI appserviceAPI.AppServiceInternalAPI, ) util.JSONResponse
CreateRoom implements /createRoom
func Deactivate ¶
func Deactivate( req *http.Request, userInteractiveAuth *auth.UserInteractive, accountAPI api.ClientUserAPI, deviceAPI *api.Device, ) util.JSONResponse
Deactivate handles POST requests to /account/deactivate
func DeleteDeviceById ¶
func DeleteDeviceById( req *http.Request, userInteractiveAuth *auth.UserInteractive, userAPI api.ClientUserAPI, device *api.Device, deviceID string, ) util.JSONResponse
DeleteDeviceById handles DELETE requests to /devices/{deviceId}
func DeleteDevices ¶
func DeleteDevices( req *http.Request, userInteractiveAuth *auth.UserInteractive, userAPI api.ClientUserAPI, device *api.Device, ) util.JSONResponse
DeleteDevices handles POST requests to /delete_devices
func DeleteEventReport ¶
func DeleteEventReport(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, reportID string) util.JSONResponse
func DeleteKeyBackupVersion ¶
func DeleteKeyBackupVersion(req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device, version string) util.JSONResponse
Delete a version of key backup. Version must not be empty. If the key backup was previously deleted, will return 200 OK. Implements DELETE /_matrix/client/r0/room_keys/version/{version}
func DeletePushRuleByRuleID ¶
func DeletePushRuleByRuleID(ctx context.Context, scope, kind, ruleID string, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse
func DeleteTag ¶
func DeleteTag( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, userID string, roomID string, tag string, syncProducer *producers.SyncAPIProducer, ) util.JSONResponse
DeleteTag implements DELETE /_matrix/client/r0/user/{userID}/rooms/{roomID}/tags/{tag} Delete functionality works by obtaining the saved tags, removing the intended tag from the "map" and then saving the new "map" in the DB
func DirectoryRoom ¶
func DirectoryRoom( req *http.Request, roomAlias string, federation fclient.FederationClient, cfg *config.ClientAPI, rsAPI roomserverAPI.ClientRoomserverAPI, fedSenderAPI federationAPI.ClientFederationAPI, ) util.JSONResponse
DirectoryRoom looks up a room alias
func Forget3PID ¶
func Forget3PID(req *http.Request, threepidAPI api.ClientUserAPI) util.JSONResponse
Forget3PID implements POST /account/3pid/delete
func GetAccountData ¶
func GetAccountData( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, userID string, roomID string, dataType string, ) util.JSONResponse
GetAccountData implements GET /user/{userId}/[rooms/{roomid}/]account_data/{type}
func GetAdminWhois ¶
func GetAdminWhois( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, userID string, ) util.JSONResponse
GetAdminWhois implements GET /admin/whois/{userId}
func GetAliases ¶
func GetAliases( req *http.Request, rsAPI api.ClientRoomserverAPI, device *userapi.Device, roomID string, ) util.JSONResponse
GetAliases implements GET /_matrix/client/r0/rooms/{roomId}/aliases
func GetAllPushRules ¶
func GetAllPushRules(ctx context.Context, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse
func GetAssociated3PIDs ¶
func GetAssociated3PIDs( req *http.Request, threepidAPI api.ClientUserAPI, device *api.Device, ) util.JSONResponse
GetAssociated3PIDs implements GET /account/3pid
func GetAvatarURL ¶
func GetAvatarURL( req *http.Request, profileAPI userapi.ProfileAPI, cfg *config.ClientAPI, userID string, asAPI appserviceAPI.AppServiceInternalAPI, federation fclient.FederationClient, ) util.JSONResponse
GetAvatarURL implements GET /profile/{userID}/avatar_url
func GetBackupKeys ¶
func GetBackupKeys( req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device, version, roomID, sessionID string, ) util.JSONResponse
Get keys from a given backup version. Response returned varies depending on if roomID and sessionID are set.
func GetCapabilities ¶
func GetCapabilities(rsAPI roomserverAPI.ClientRoomserverAPI) util.JSONResponse
GetCapabilities returns information about the server's supported feature set and other relevant capabilities to an authenticated user.
func GetDeviceByID ¶
func GetDeviceByID( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, deviceID string, ) util.JSONResponse
GetDeviceByID handles /devices/{deviceID}
func GetDevicesByLocalpart ¶
func GetDevicesByLocalpart( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ) util.JSONResponse
GetDevicesByLocalpart handles /devices
func GetDisplayName ¶
func GetDisplayName( req *http.Request, profileAPI userapi.ProfileAPI, cfg *config.ClientAPI, userID string, asAPI appserviceAPI.AppServiceInternalAPI, federation fclient.FederationClient, ) util.JSONResponse
GetDisplayName implements GET /profile/{userID}/displayname
func GetEventReport ¶
func GetEventReport(req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, reportID string) util.JSONResponse
func GetEventReports ¶
func GetEventReports( req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, from, limit uint64, backwards bool, userID, roomID string, ) util.JSONResponse
GetEventReports returns reported events for a given user/room.
func GetJoinedMembers ¶
func GetJoinedMembers( req *http.Request, device *userapi.Device, roomID string, rsAPI api.ClientRoomserverAPI, ) util.JSONResponse
GetJoinedMembers implements
GET /rooms/{roomId}/joined_members
func GetJoinedRooms ¶
func GetJoinedRooms( req *http.Request, device *userapi.Device, rsAPI api.ClientRoomserverAPI, ) util.JSONResponse
func GetNotifications ¶
func GetNotifications( req *http.Request, device *userapi.Device, userAPI userapi.ClientUserAPI, ) util.JSONResponse
GetNotifications handles /_matrix/client/r0/notifications
func GetPostPublicRooms ¶
func GetPostPublicRooms( req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, extRoomsProvider api.ExtraPublicRoomsProvider, federation fclient.FederationClient, cfg *config.ClientAPI, ) util.JSONResponse
GetPostPublicRooms implements GET and POST /publicRooms
func GetPresence ¶
func GetProfile ¶
func GetProfile( req *http.Request, profileAPI userapi.ProfileAPI, cfg *config.ClientAPI, userID string, asAPI appserviceAPI.AppServiceInternalAPI, federation fclient.FederationClient, ) util.JSONResponse
GetProfile implements GET /profile/{userID}
func GetPushRuleAttrByRuleID ¶
func GetPushRuleAttrByRuleID(ctx context.Context, scope, kind, ruleID, attr string, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse
func GetPushRuleByRuleID ¶
func GetPushRuleByRuleID(ctx context.Context, scope, kind, ruleID string, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse
func GetPushRulesByKind ¶
func GetPushRulesByKind(ctx context.Context, scope, kind string, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse
func GetPushRulesByScope ¶
func GetPushRulesByScope(ctx context.Context, scope string, device *userapi.Device, userAPI userapi.ClientUserAPI) util.JSONResponse
func GetPushers ¶
func GetPushers( req *http.Request, device *userapi.Device, userAPI userapi.ClientUserAPI, ) util.JSONResponse
GetPushers handles /_matrix/client/r0/pushers
func GetTags ¶
func GetTags( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, userID string, roomID string, syncProducer *producers.SyncAPIProducer, ) util.JSONResponse
GetTags implements GET /_matrix/client/r0/user/{userID}/rooms/{roomID}/tags
func GetVisibility ¶
func GetVisibility( req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, roomID string, ) util.JSONResponse
GetVisibility implements GET /directory/list/room/{roomID}
func JoinRoomByIDOrAlias ¶
func JoinRoomByIDOrAlias( req *http.Request, device *api.Device, rsAPI roomserverAPI.ClientRoomserverAPI, profileAPI api.ClientUserAPI, roomIDOrAlias string, ) util.JSONResponse
func KeyBackupVersion ¶
func KeyBackupVersion(req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device, version string) util.JSONResponse
KeyBackupVersion returns the key backup version specified. If `version` is empty, the latest `keyBackupVersionResponse` is returned. Implements GET /_matrix/client/r0/room_keys/version and GET /_matrix/client/r0/room_keys/version/{version}
func LeaveRoomByID ¶
func LeaveRoomByID( req *http.Request, device *api.Device, rsAPI roomserverAPI.ClientRoomserverAPI, roomID string, ) util.JSONResponse
func Location ¶
func Location(req *http.Request, asAPI appserviceAPI.AppServiceInternalAPI, device *api.Device, protocol string, params url.Values) util.JSONResponse
Location implements
GET /_matrix/client/v3/thirdparty/location GET /_matrix/client/v3/thirdparty/location/{protocol}
func Login ¶
func Login( req *http.Request, userAPI userapi.ClientUserAPI, cfg *config.ClientAPI, ) util.JSONResponse
Login implements GET and POST /login
func Logout ¶
func Logout( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ) util.JSONResponse
Logout handles POST /logout
func LogoutAll ¶
func LogoutAll( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, ) util.JSONResponse
LogoutAll handles POST /logout/all
func ModifyKeyBackupVersionAuthData ¶
func ModifyKeyBackupVersionAuthData(req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device, version string) util.JSONResponse
Modify the auth data of a key backup. Version must not be empty. Request must contain a `keyBackupVersion` Implements PUT /_matrix/client/r0/room_keys/version/{version}
func OnIncomingStateRequest ¶
func OnIncomingStateRequest(ctx context.Context, device *userapi.Device, rsAPI api.ClientRoomserverAPI, roomID string) util.JSONResponse
OnIncomingStateRequest is called when a client makes a /rooms/{roomID}/state request. It will fetch all the state events from the specified room and will append the necessary keys to them if applicable before returning them. Returns an error if something went wrong in the process. TODO: Check if the user is in the room. If not, check if the room's history is publicly visible. Current behaviour is returning an empty array if the user cannot see the room's history.
func OnIncomingStateTypeRequest ¶
func OnIncomingStateTypeRequest( ctx context.Context, device *userapi.Device, rsAPI api.ClientRoomserverAPI, roomID, evType, stateKey string, eventFormat bool, ) util.JSONResponse
OnIncomingStateTypeRequest is called when a client makes a /rooms/{roomID}/state/{type}/{statekey} request. It will look in current state to see if there is an event with that type and state key, if there is then (by default) we return the content, otherwise a 404. If eventFormat=true, sends the whole event else just the content.
func Password ¶
func Password( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, cfg *config.ClientAPI, ) util.JSONResponse
func PeekRoomByIDOrAlias ¶
func PeekRoomByIDOrAlias( req *http.Request, device *api.Device, rsAPI roomserverAPI.ClientRoomserverAPI, roomIDOrAlias string, ) util.JSONResponse
func Protocols ¶
func Protocols(req *http.Request, asAPI appserviceAPI.AppServiceInternalAPI, device *api.Device, protocol string) util.JSONResponse
Protocols implements
GET /_matrix/client/v3/thirdparty/protocols/{protocol} GET /_matrix/client/v3/thirdparty/protocols
func PutPushRuleAttrByRuleID ¶
func PutPushRuleByRuleID ¶
func PutTag ¶
func PutTag( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, userID string, roomID string, tag string, syncProducer *producers.SyncAPIProducer, ) util.JSONResponse
PutTag implements PUT /_matrix/client/r0/user/{userID}/rooms/{roomID}/tags/{tag} Put functionality works by getting existing data from the DB (if any), adding the tag to the "map" and saving the new "map" to the DB
func QueryKeys ¶
func QueryKeys(req *http.Request, keyAPI api.ClientKeyAPI, device *api.Device) util.JSONResponse
func QueryRoomHierarchy ¶
func QueryRoomHierarchy(req *http.Request, device *userapi.Device, roomIDStr string, rsAPI roomserverAPI.ClientRoomserverAPI, paginationCache *RoomHierarchyPaginationCache) util.JSONResponse
Query the hierarchy of a room/space
Implements /_matrix/client/v1/rooms/{roomID}/hierarchy
func Register ¶
func Register( req *http.Request, userAPI userapi.ClientUserAPI, cfg *config.ClientAPI, ) util.JSONResponse
Register processes a /register request. https://spec.matrix.org/v1.7/client-server-api/#post_matrixclientv3register
func RegisterAvailable ¶
func RegisterAvailable( req *http.Request, cfg *config.ClientAPI, registerAPI userapi.ClientUserAPI, ) util.JSONResponse
RegisterAvailable checks if the username is already taken or invalid.
func RemoveLocalAlias ¶
func RemoveLocalAlias( req *http.Request, device *userapi.Device, alias string, rsAPI roomserverAPI.ClientRoomserverAPI, ) util.JSONResponse
RemoveLocalAlias implements DELETE /directory/room/{roomAlias}
func ReportEvent ¶
func ReportEvent( req *http.Request, device *userAPI.Device, roomID, eventID string, rsAPI api.ClientRoomserverAPI, ) util.JSONResponse
func RequestEmailToken ¶
func RequestEmailToken(req *http.Request, threePIDAPI api.ClientUserAPI, cfg *config.ClientAPI, client *fclient.Client) util.JSONResponse
RequestEmailToken implements:
POST /account/3pid/email/requestToken POST /register/email/requestToken
func RequestTurnServer ¶
func RequestTurnServer(req *http.Request, device *api.Device, cfg *config.ClientAPI) util.JSONResponse
RequestTurnServer implements:
GET /voip/turnServer
func SaveAccountData ¶
func SaveAccountData( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, userID string, roomID string, dataType string, syncProducer *producers.SyncAPIProducer, ) util.JSONResponse
SaveAccountData implements PUT /user/{userId}/[rooms/{roomId}/]account_data/{type}
func SaveReadMarker ¶
func SaveReadMarker( req *http.Request, userAPI api.ClientUserAPI, rsAPI roomserverAPI.ClientRoomserverAPI, syncProducer *producers.SyncAPIProducer, device *api.Device, roomID string, ) util.JSONResponse
SaveReadMarker implements POST /rooms/{roomId}/read_markers
func SearchUserDirectory ¶
func SearchUserDirectory( ctx context.Context, device *userapi.Device, rsAPI api.ClientRoomserverAPI, provider userapi.QuerySearchProfilesAPI, searchString string, limit int, federation fclient.FederationClient, localServerName spec.ServerName, ) util.JSONResponse
func SendBan ¶
func SendBan( req *http.Request, profileAPI userapi.ClientUserAPI, device *userapi.Device, roomID string, cfg *config.ClientAPI, rsAPI roomserverAPI.ClientRoomserverAPI, asAPI appserviceAPI.AppServiceInternalAPI, ) util.JSONResponse
func SendEvent ¶
func SendEvent( req *http.Request, device *userapi.Device, roomID, eventType string, txnID, stateKey *string, cfg *config.ClientAPI, rsAPI api.ClientRoomserverAPI, txnCache *transactions.Cache, ) util.JSONResponse
SendEvent implements:
/rooms/{roomID}/send/{eventType} /rooms/{roomID}/send/{eventType}/{txnID} /rooms/{roomID}/state/{eventType}/{stateKey}
nolint: gocyclo
func SendForget ¶
func SendForget( req *http.Request, device *userapi.Device, roomID string, rsAPI roomserverAPI.ClientRoomserverAPI, ) util.JSONResponse
func SendInvite ¶
func SendInvite( req *http.Request, profileAPI userapi.ClientUserAPI, device *userapi.Device, roomID string, cfg *config.ClientAPI, rsAPI roomserverAPI.ClientRoomserverAPI, asAPI appserviceAPI.AppServiceInternalAPI, ) util.JSONResponse
func SendKick ¶
func SendKick( req *http.Request, profileAPI userapi.ClientUserAPI, device *userapi.Device, roomID string, cfg *config.ClientAPI, rsAPI roomserverAPI.ClientRoomserverAPI, asAPI appserviceAPI.AppServiceInternalAPI, ) util.JSONResponse
func SendRedaction ¶
func SendRedaction( req *http.Request, device *userapi.Device, roomID, eventID string, cfg *config.ClientAPI, rsAPI roomserverAPI.ClientRoomserverAPI, txnID *string, txnCache *transactions.Cache, ) util.JSONResponse
func SendServerNotice ¶
func SendServerNotice( req *http.Request, cfgNotices *config.ServerNotices, cfgClient *config.ClientAPI, userAPI userapi.ClientUserAPI, rsAPI api.ClientRoomserverAPI, asAPI appserviceAPI.AppServiceInternalAPI, device *userapi.Device, senderDevice *userapi.Device, txnID *string, txnCache *transactions.Cache, ) util.JSONResponse
nolint:gocyclo SendServerNotice sends a message to a specific user. It can only be invoked by an admin.
func SendToDevice ¶
func SendToDevice( req *http.Request, device *userapi.Device, syncProducer *producers.SyncAPIProducer, txnCache *transactions.Cache, eventType string, txnID *string, ) util.JSONResponse
SendToDevice handles PUT /_matrix/client/r0/sendToDevice/{eventType}/{txnId} sends the device events to the syncapi & federationsender
func SendTyping ¶
func SendTyping( req *http.Request, device *userapi.Device, roomID string, userID string, rsAPI roomserverAPI.ClientRoomserverAPI, syncProducer *producers.SyncAPIProducer, ) util.JSONResponse
SendTyping handles PUT /rooms/{roomID}/typing/{userID} sends the typing events to client API typingProducer
func SendUnban ¶
func SendUnban( req *http.Request, profileAPI userapi.ClientUserAPI, device *userapi.Device, roomID string, cfg *config.ClientAPI, rsAPI roomserverAPI.ClientRoomserverAPI, asAPI appserviceAPI.AppServiceInternalAPI, ) util.JSONResponse
func SetAvatarURL ¶
func SetAvatarURL( req *http.Request, profileAPI userapi.ProfileAPI, device *userapi.Device, userID string, cfg *config.ClientAPI, rsAPI api.ClientRoomserverAPI, ) util.JSONResponse
SetAvatarURL implements PUT /profile/{userID}/avatar_url
func SetDisplayName ¶
func SetDisplayName( req *http.Request, profileAPI userapi.ProfileAPI, device *userapi.Device, userID string, cfg *config.ClientAPI, rsAPI api.ClientRoomserverAPI, ) util.JSONResponse
SetDisplayName implements PUT /profile/{userID}/displayname
func SetLocalAlias ¶
func SetLocalAlias( req *http.Request, device *userapi.Device, alias string, cfg *config.ClientAPI, rsAPI roomserverAPI.ClientRoomserverAPI, ) util.JSONResponse
SetLocalAlias implements PUT /directory/room/{roomAlias}
func SetPresence ¶
func SetPusher ¶
func SetPusher( req *http.Request, device *userapi.Device, userAPI userapi.ClientUserAPI, ) util.JSONResponse
SetPusher handles /_matrix/client/r0/pushers/set This endpoint allows the creation, modification and deletion of pushers for this user ID. The behaviour of this endpoint varies depending on the values in the JSON body.
func SetReceipt ¶
func SetReceipt(req *http.Request, userAPI userapi.ClientUserAPI, syncProducer *producers.SyncAPIProducer, device *userapi.Device, roomID, receiptType, eventID string) util.JSONResponse
func SetVisibility ¶
func SetVisibility( req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, dev *userapi.Device, roomID string, ) util.JSONResponse
SetVisibility implements PUT /directory/list/room/{roomID} TODO: Allow admin users to edit the room visibility
func SetVisibilityAS ¶
func SetVisibilityAS( req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI, dev *userapi.Device, networkID, roomID string, ) util.JSONResponse
func Setup ¶
func Setup( routers httputil.Routers, dendriteCfg *config.Dendrite, rsAPI roomserverAPI.ClientRoomserverAPI, asAPI appserviceAPI.AppServiceInternalAPI, userAPI userapi.ClientUserAPI, userDirectoryProvider userapi.QuerySearchProfilesAPI, federation fclient.FederationClient, syncProducer *producers.SyncAPIProducer, transactionsCache *transactions.Cache, federationSender federationAPI.ClientFederationAPI, extRoomsProvider api.ExtraPublicRoomsProvider, natsClient *nats.Conn, enableMetrics bool, )
Setup registers HTTP handlers with the given ServeMux. It also supplies the given http.Client to clients which need to make outbound HTTP requests.
Due to Setup being used to call many other functions, a gocyclo nolint is applied: nolint: gocyclo
func UnpeekRoomByID ¶
func UnpeekRoomByID( req *http.Request, device *api.Device, rsAPI roomserverAPI.ClientRoomserverAPI, roomID string, ) util.JSONResponse
func UpdateDeviceByID ¶
func UpdateDeviceByID( req *http.Request, userAPI api.ClientUserAPI, device *api.Device, deviceID string, ) util.JSONResponse
UpdateDeviceByID handles PUT on /devices/{deviceID}
func UpgradeRoom ¶
func UpgradeRoom( req *http.Request, device *userapi.Device, cfg *config.ClientAPI, roomID string, profileAPI userapi.ClientUserAPI, rsAPI roomserverAPI.ClientRoomserverAPI, asAPI appserviceAPI.AppServiceInternalAPI, ) util.JSONResponse
UpgradeRoom implements /upgrade
func UploadBackupKeys ¶
func UploadBackupKeys( req *http.Request, userAPI userapi.ClientUserAPI, device *userapi.Device, version string, keys *keyBackupSessionRequest, ) util.JSONResponse
Upload a bunch of session keys for a given `version`.
func UploadCrossSigningDeviceKeys ¶
func UploadCrossSigningDeviceKeys( req *http.Request, userInteractiveAuth *auth.UserInteractive, keyserverAPI api.ClientKeyAPI, device *api.Device, accountAPI api.ClientUserAPI, cfg *config.ClientAPI, ) util.JSONResponse
func UploadCrossSigningDeviceSignatures ¶
func UploadCrossSigningDeviceSignatures(req *http.Request, keyserverAPI api.ClientKeyAPI, device *api.Device) util.JSONResponse
func UploadKeys ¶
func UploadKeys(req *http.Request, keyAPI api.ClientKeyAPI, device *api.Device) util.JSONResponse
func User ¶
func User(req *http.Request, asAPI appserviceAPI.AppServiceInternalAPI, device *api.Device, protocol string, params url.Values) util.JSONResponse
User implements
GET /_matrix/client/v3/thirdparty/user GET /_matrix/client/v3/thirdparty/user/{protocol}
func UserIDIsWithinApplicationServiceNamespace ¶
func UserIDIsWithinApplicationServiceNamespace( cfg *config.ClientAPI, userID string, appservice *config.ApplicationService, ) bool
UserIDIsWithinApplicationServiceNamespace checks to see if a given userID falls within any of the namespaces of a given Application Service. If no Application Service is given, it will check to see if it matches any Application Service's namespace.
func UsernameMatchesExclusiveNamespaces ¶
UsernameMatchesExclusiveNamespaces will check if a given username matches any application service's exclusive users namespace
func UsernameMatchesMultipleExclusiveNamespaces ¶
UsernameMatchesMultipleExclusiveNamespaces will check if a given username matches more than one exclusive namespace. More than one is not allowed
func Whoami ¶
Whoami implements `/account/whoami` which enables client to query their account user id. https://matrix.org/docs/spec/client_server/r0.3.0.html#get-matrix-client-r0-account-whoami
Types ¶
type PublicRoomReq ¶
type PublicRoomReq struct { Since string `json:"since,omitempty"` Limit int64 `json:"limit,omitempty"` Filter filter `json:"filter,omitempty"` Server string `json:"server,omitempty"` IncludeAllNetworks bool `json:"include_all_networks,omitempty"` NetworkID string `json:"third_party_instance_id,omitempty"` }
type RoomHierarchyClientResponse ¶
type RoomHierarchyClientResponse struct { Rooms []fclient.RoomHierarchyRoom `json:"rooms"` NextBatch string `json:"next_batch,omitempty"` }
Success response for /_matrix/client/v1/rooms/{roomID}/hierarchy
type RoomHierarchyPaginationCache ¶
type RoomHierarchyPaginationCache struct {
// contains filtered or unexported fields
}
For storing pagination information for room hierarchies
func NewRoomHierarchyPaginationCache ¶
func NewRoomHierarchyPaginationCache() RoomHierarchyPaginationCache
Create a new, empty, pagination cache.
func (*RoomHierarchyPaginationCache) AddLine ¶
func (c *RoomHierarchyPaginationCache) AddLine(line roomserverAPI.RoomHierarchyWalker) string
Add a cache line to the pagination cache.
func (*RoomHierarchyPaginationCache) Get ¶
func (c *RoomHierarchyPaginationCache) Get(token string) *roomserverAPI.RoomHierarchyWalker
Get a cached page, or nil if there is no associated page in the cache.
type SharedSecretRegistration ¶
type SharedSecretRegistration struct {
// contains filtered or unexported fields
}
func NewSharedSecretRegistration ¶
func NewSharedSecretRegistration(sharedSecret string) *SharedSecretRegistration
func (*SharedSecretRegistration) GenerateNonce ¶
func (r *SharedSecretRegistration) GenerateNonce() string
func (*SharedSecretRegistration) IsValidMacLogin ¶
type SharedSecretRegistrationRequest ¶
type SharedSecretRegistrationRequest struct {}
func NewSharedSecretRegistrationRequest ¶
func NewSharedSecretRegistrationRequest(reader io.ReadCloser) (*SharedSecretRegistrationRequest, error)
type ThreePIDsResponse ¶
type UserDirectoryResponse ¶
type UserDirectoryResponse struct { Results []authtypes.FullyQualifiedProfile `json:"results"` Limited bool `json:"limited"` }
type WellKnownClientHomeserver ¶
type WellKnownClientHomeserver struct {
BaseUrl string `json:"base_url"`
}
type WellKnownClientResponse ¶
type WellKnownClientResponse struct { Homeserver WellKnownClientHomeserver `json:"m.homeserver"` SlidingSyncProxy *WellKnownSlidingSyncProxy `json:"org.matrix.msc3575.proxy,omitempty"` }
type WellKnownSlidingSyncProxy ¶
type WellKnownSlidingSyncProxy struct {
Url string `json:"url"`
}
Source Files ¶
- account_data.go
- admin.go
- admin_whois.go
- aliases.go
- auth_fallback.go
- capabilities.go
- createroom.go
- deactivate.go
- device.go
- directory.go
- directory_public.go
- joined_rooms.go
- joinroom.go
- key_backup.go
- key_crosssigning.go
- keys.go
- leaveroom.go
- login.go
- logout.go
- membership.go
- memberships.go
- notification.go
- openid.go
- password.go
- peekroom.go
- presence.go
- profile.go
- pusher.go
- pushrules.go
- receipt.go
- redaction.go
- register.go
- register_secret.go
- report_event.go
- room_hierarchy.go
- room_tagging.go
- routing.go
- sendevent.go
- sendtodevice.go
- sendtyping.go
- server_notices.go
- state.go
- thirdparty.go
- threepid.go
- upgrade_room.go
- userdirectory.go
- voip.go
- whoami.go