mirror of
https://github.com/matrix-org/dendrite.git
synced 2025-12-06 06:23:10 -06:00
* Add basic storage methods
* Add internal api handler
* Add check for forgotten room
* Add /rooms/{roomID}/forget endpoint
* Add missing rsAPI method
* Remove unused parameters
* Add passing tests
Signed-off-by: Till Faelligen <tfaelligen@gmail.com>
* Add missing file
* Add postgres migration
* Add sqlite migration
* Use Forgetter to forget room
* Remove empty line
* Update HTTP status codes
It looks like the spec calls for these to be 400, rather than 403: https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-rooms-roomid-forget
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/muxand the routing paths are in theroutingpackage.
Writers
- Each HTTP "write operation" (
/createRoom,/rooms/$room_id/send/$type, etc) is contained entirely to a single file in thewriterspackage. - This file contains the request and response
structdefinitions, as well as aValidate() boolfunction 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.