mirror of
https://github.com/element-hq/dendrite.git
synced 2026-01-11 19:46:30 +00:00
|
Some checks failed
Dendrite / WASM build test (push) Has been cancelled
Dendrite / Linting (push) Has been cancelled
Dendrite / Unit tests (push) Has been cancelled
Dendrite / Build for Linux (push) Has been cancelled
Dendrite / Build for Windows (push) Has been cancelled
Dendrite / Sytest (SQLite Cgo) (push) Has been cancelled
Dendrite / Initial tests passed (push) Has been cancelled
Dendrite / Integration tests (push) Has been cancelled
Dendrite / Upgrade tests (push) Has been cancelled
Dendrite / Upgrade tests from HEAD-2 (push) Has been cancelled
Dendrite / Sytest (PostgreSQL) (push) Has been cancelled
Dendrite / Sytest (SQLite native) (push) Has been cancelled
Dendrite / Complement (PostgreSQL) (push) Has been cancelled
Dendrite / Update Docker images (push) Has been cancelled
Dendrite / Complement (SQLite native) (push) Has been cancelled
Dendrite / Complement (SQLite Cgo) (push) Has been cancelled
Dendrite / Integration tests passed (push) Has been cancelled
This is to complement the existing [Purge Room Admin API](https://element-hq.github.io/dendrite/administration/adminapi#post-_dendriteadminpurgeroomroomid) ### Pull Request Checklist <!-- Please read https://matrix-org.github.io/dendrite/development/contributing before submitting your pull request --> * [x] I have added Go unit tests or [Complement integration tests](https://github.com/matrix-org/complement) for this PR _or_ I have justified why this PR doesn't need tests * [x] Pull request includes a [sign off below](https://element-hq.github.io/dendrite/development/contributing#sign-off) _or_ I have already signed off privately --------- Signed-off-by: Till Faelligen <2353100+S7evinK@users.noreply.github.com> |
||
|---|---|---|
| .. | ||
| api | ||
| auth | ||
| httputil | ||
| producers | ||
| routing | ||
| threepid | ||
| userutil | ||
| admin_test.go | ||
| clientapi.go | ||
| clientapi_test.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.