core
core copied to clipboard
WebAPI
Add a flexible and fast Web API that supports both single http request and persistent Web sockets connections for real time communication.
_WebSockets support for API Server_
- [x] This is needed for push-based real time applications
_Post and preprocessing for request handlers_
- [ ] Preprocessors would process the request data (like for example validation)
- [X] ~~~Postprocessors would process the generated response (for example another module that adds fields to an existing handler instead of creating a new one)~~~ (probably not as useful as it seemed)
_Early IP validation_
- [x] The ip Whitelist and blacklist checks should occur as early in the request pipeline as possible to optimize performance and minimize ddos vulnerabilities
_Web sockets connection limit_
- [x] Limit per IP (global configuration)
- [ ] Global limit (all connections)
_Authentication_
- [x] request authentication using the user storage
_Rate limiting_
- [ ] The web API should limit the request rate per user to mitigate flooding and similar attacks
_Route matcher_
- [ ] Implement a route matcher that uses a tree structure to match the specific parts of routes