Destiny is a standalone, high-performance and lightweight web server that makes use of the latest Swift features to push performance to the limit of the language, and designed to be easy to use while keeping the binary size small.
It provides a router (which is used via a Swift Macro) that accepts middleware, redirects, routes, and route groups for processing requests.
Features like TLS/SSL, Web Sockets and embedded support are coming soon.
- Custom hostname and port (Nov 8, 2024)
- Middleware and Routes (Nov 8, 2024)
- Register middleware/routes after starting server (Nov 8, 2024)
- Support multiple data representations (Nov 8, 2024)
- Routes with parameters (Nov 8, 2024)
- CORS (Dec 9, 2024 | static CORS needs a little more work)
- Configure settings via Command Line Arguments (Dec 11, 2024)
- Redirects (Dec 11, 2024)
- Route Groups (Dec 27, 2024)
- Case insensitive routes (Feb 19, 2025)
- Routes with wildcards (Feb 19, 2025)
- Better handling of clients to unlock more throughput (Feb 23, 2025)
- Response streaming (Aug 2, 2025)
- Typed throws where applicable (Aug 3, 2025)
- Foundation-less (Aug 5, 2025)
- Swift 6 Language Mode (Aug 5, 2025)
- Cookies (Aug 9, 2025)
- Header parsing (Sep 9, 2025)
- Request body streaming (Sep 10, 2025)
- DocC Documentation
- DocC Tutorials
- Route partial matching (via Regex or something else)
- Unit testing
- Rate Limits
- Route queries
- Metric Middleware
- File Middleware
- HTTP Pipelining
- Embedded support
- Allow more than 64 bytes as the compared request line
- Cache Middleware
- Data Validation (form, POST, etc)
- Authentication
- Compression support
- OpenAPI support
- Tracing support
- TLS/SSL
- Web Sockets
- Native load balancing & clustering
- Support custom middleware & routes in the macro
- Support third-party macro expansions in the macro
See Documentation
See Performance
Create a PR.
You can create a discussion here on GitHub for support or join my Discord server at https://discord.com/invite/VyuFQUpcUz.
This project was developed to allow everyone to create better http servers. I develop and maintain many free open-source projects full-time for the benefit of everyone.
You can show your financial appreciation for this project and others by sponsoring us here on GitHub or other ways listed in the FUNDING.yml.