{"id":18165594,"url":"https://github.com/randomhashtags/destiny","last_synced_at":"2026-03-07T01:01:45.669Z","repository":{"id":258681645,"uuid":"874267002","full_name":"RandomHashTags/destiny","owner":"RandomHashTags","description":"Standalone Lightweight HTTP Server using Swift Macros for routing.","archived":false,"fork":false,"pushed_at":"2024-12-11T22:35:50.000Z","size":396,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-15T08:35:06.260Z","etag":null,"topics":["http","http-server","server","server-side-swift","swift","swift-macro","swift-macros","web-server"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RandomHashTags.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-17T14:26:24.000Z","updated_at":"2024-12-11T22:35:53.000Z","dependencies_parsed_at":"2024-10-23T05:55:39.367Z","dependency_job_id":null,"html_url":"https://github.com/RandomHashTags/destiny","commit_stats":null,"previous_names":["randomhashtags/destiny"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RandomHashTags%2Fdestiny","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RandomHashTags%2Fdestiny/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RandomHashTags%2Fdestiny/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RandomHashTags%2Fdestiny/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RandomHashTags","download_url":"https://codeload.github.com/RandomHashTags/destiny/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230627770,"owners_count":18255883,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["http","http-server","server","server-side-swift","swift","swift-macro","swift-macros","web-server"],"created_at":"2024-11-02T12:07:57.585Z","updated_at":"2026-03-07T01:01:45.614Z","avatar_url":"https://github.com/RandomHashTags.png","language":"Swift","readme":"# Destiny\n\n\u003ca href=\"https://swift.org\"\u003e\u003cimg src=\"https://img.shields.io/badge/Swift-6.2+-F05138?style=\u0026logo=swift\" alt=\"Requires at least Swift 6.2\"\u003e\u003c/a\u003e \u003cimg src=\"https://img.shields.io/badge/Platforms-Any-gold\"\u003e \u003ca href=\"https://discord.com/invite/VyuFQUpcUz\"\u003e\u003cimg src=\"https://img.shields.io/badge/Chat-Discord-7289DA?style=\u0026logo=discord\"\u003e\u003c/a\u003e \u003ca href=\"https://github.com/RandomHashTags/destiny/blob/main/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache_2.0-blue\" alt=\"Apache 2.0 License\"\u003e\u003c/a\u003e\n\nDestiny 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.\n\nIt provides a router (which is used via a Swift Macro) that accepts middleware, redirects, routes, and route groups for processing requests.\n\nFeatures like TLS/SSL, Web Sockets and embedded support are coming soon.\n\n## Table of Contents\n\n- [Roadmap](#roadmap)\n  - [Completed](#completed)\n  - [WIP](#wip)\n  - [TODO](#todo)\n- [Documentation](#documentation)\n- [Benchmarks](#benchmarks)\n- [Contributing](#contributing)\n- [Support](#support)\n  - [Funding](#funding)\n\n## Roadmap\n\n### Completed\n\n- [x] Custom hostname and port \u003cb\u003e(Nov 8, 2024)\u003c/b\u003e\n- [x] Middleware and Routes \u003cb\u003e(Nov 8, 2024)\u003c/b\u003e\n- [x] Register middleware/routes after starting server \u003cb\u003e(Nov 8, 2024)\u003c/b\u003e\n- [x] Support multiple data representations \u003cb\u003e(Nov 8, 2024)\u003c/b\u003e\n- [x] Routes with parameters \u003cb\u003e(Nov 8, 2024)\u003c/b\u003e\n- [x] CORS \u003cb\u003e(Dec 9, 2024 | static CORS needs a little more work)\u003c/b\u003e\n- [x] Configure settings via Command Line Arguments \u003cb\u003e(Dec 11, 2024)\u003c/b\u003e\n- [x] Redirects \u003cb\u003e(Dec 11, 2024)\u003c/b\u003e\n- [x] Route Groups \u003cb\u003e(Dec 27, 2024)\u003c/b\u003e\n- [x] Case insensitive routes \u003cb\u003e(Feb 19, 2025)\u003c/b\u003e\n- [x] Routes with wildcards \u003cb\u003e(Feb 19, 2025)\u003c/b\u003e\n- [x] Better handling of clients to unlock more throughput \u003cb\u003e(Feb 23, 2025)\u003c/b\u003e\n- [x] Response streaming \u003cb\u003e(Aug 2, 2025)\u003c/b\u003e\n- [x] Typed throws where applicable \u003cb\u003e(Aug 3, 2025)\u003c/b\u003e\n- [x] Foundation-less \u003cb\u003e(Aug 5, 2025)\u003c/b\u003e\n- [x] Swift 6 Language Mode \u003cb\u003e(Aug 5, 2025)\u003c/b\u003e\n- [x] Cookies \u003cb\u003e(Aug 9, 2025)\u003c/b\u003e\n- [x] Header parsing \u003cb\u003e(Sep 9, 2025)\u003c/b\u003e\n- [x] Request body streaming \u003cb\u003e(Sep 10, 2025)\u003c/b\u003e\n\n### WIP\n\n- [ ] DocC Documentation\n- [ ] DocC Tutorials\n- [ ] Route partial matching (via Regex or something else)\n- [ ] Unit testing\n- [ ] Rate Limits\n- [ ] Route queries\n- [ ] Metric Middleware\n- [ ] File Middleware\n- [ ] HTTP Pipelining\n- [ ] Embedded support\n\n### TODO\n\n- [ ] Allow more than 64 bytes as the compared request line\n- [ ] Cache Middleware\n- [ ] Data Validation (form, POST, etc)\n- [ ] Authentication\n- [ ] Compression support\n- [ ] OpenAPI support\n- [ ] Tracing support\n- [ ] TLS/SSL\n- [ ] Web Sockets\n- [ ] Native load balancing \u0026 clustering\n- [ ] Support custom middleware \u0026 routes in the macro\n- [ ] Support third-party macro expansions in the macro\n\n## Documentation\n\nSee [Documentation](https://github.com/RandomHashTags/destiny/tree/main/Sources/Documentation.docc/Index.md)\n\n## Benchmarks\n\nSee [Performance](https://github.com/RandomHashTags/destiny/tree/main/Sources/Documentation.docc/Performance.md)\n\n## Contributing\n\nCreate a PR.\n\n## Support\n\nYou can create a discussion here on GitHub for support or join my Discord server at https://discord.com/invite/VyuFQUpcUz.\n\n### Funding\n\nThis 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.\n\nYou can show your financial appreciation for this project and others by sponsoring us here on GitHub or other ways listed in the [FUNDING.yml](https://github.com/RandomHashTags/destiny/blob/main/.github/FUNDING.yml).","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frandomhashtags%2Fdestiny","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frandomhashtags%2Fdestiny","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frandomhashtags%2Fdestiny/lists"}