dendrite/clientapi
2022-06-16 10:18:01 -07:00
..
api Implement ExtraPublicRoomsProvider for p2p demos (#1180) 2020-07-03 12:59:00 +01:00
auth During registration, verify that the user ID passes the grammar of CAIP-10, and the Matrix ID. Also verify that the ID matches the authentication data. Then during login authentication, verify that the user ID in the auth request matches the fields in the signed message. 2022-06-16 10:18:01 -07:00
httputil Support for m.login.token (#2014) 2022-02-10 10:27:26 +00:00
jsonerror merge latest dendrite main. Resolve merge conflicts 2022-05-27 10:17:56 -07:00
producers Define component interfaces based on consumers (1/2) (#2423) 2022-05-05 13:17:38 +01:00
routing During registration, verify that the user ID passes the grammar of CAIP-10, and the Matrix ID. Also verify that the ID matches the authentication data. Then during login authentication, verify that the user ID in the auth request matches the fields in the signed message. 2022-06-16 10:18:01 -07:00
threepid Back out matrix-org/dendrite#2421 by restoring http.Clients 2022-05-10 11:08:10 +01:00
userutil - Removed double imports (#1989) 2021-09-08 17:31:03 +01:00
clientapi.go One NATS instance per BaseDendrite (#2438) 2022-05-09 14:15:24 +01:00
README.md use go module for dependencies (#594) 2019-05-21 21:56:55 +01:00

This component roughly corresponds to "Client Room Send" and "Client Sync" on the WIRING diagram. This component produces multiple binaries.

Internals

  • HTTP routing is done using gorilla/mux and the routing paths are in the routing package.

Writers

  • Each HTTP "write operation" (/createRoom, /rooms/$room_id/send/$type, etc) is contained entirely to a single file in the writers package.
  • This file contains the request and response struct definitions, as well as a Validate() bool function to validate incoming requests.
  • The entry point for each write operation is a stand-alone function as this makes testing easier. All dependencies should be injected into this function, including server keys/name, etc.