mirror of
https://github.com/1f349/dendrite.git
synced 2025-02-11 00:48:38 +00:00
Fixes #697 Switched to golangci-lint, fixes issues with buildkite and does some linting fixes to appease the new linters.
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.