mirror of
https://github.com/hoernschen/dendrite.git
synced 2024-12-29 08:18:27 +00:00
08a0278760
* Add missing internal api endpoint Signed-off-by: Till Faelligen <tfaelligen@gmail.com> * Add missing performKeyBackup endpoint * Add missing http mode for userapi * Fix failing tests * Add error checks * Fix sytest * Update startup logic for HTTP mode * Use userImpl for AS (annoying) * Don't send device list updates for appservice devices * Fix build Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com> |
||
---|---|---|
.. | ||
api | ||
auth | ||
httputil | ||
jsonerror | ||
producers | ||
routing | ||
threepid | ||
userutil | ||
clientapi.go | ||
README.md |
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 therouting
package.
Writers
- Each HTTP "write operation" (
/createRoom
,/rooms/$room_id/send/$type
, etc) is contained entirely to a single file in thewriters
package. - This file contains the request and response
struct
definitions, as well as aValidate() 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.