New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate from rocket.rs to axum #51
Comments
In case it's not known already, There is a known issue for automatic redirects ( It sounds like you want anything that's not a (known?) API route to go to static file serving though? In that case the |
All APIs are ported and all test work with axum. Next:
|
All test run successfully. Port to axum finished. |
What/Why
Kellnr was started more than three years ago. Rocket.rs was one of the most promising web frameworks at that time. Unfortunatly the development stopped. Axum emerged as a new popular framework with it's roots in the tokio ecosystem, which makes it a perfect fit for Kellnr, as tokio is already heavily used.
To Do
Kellnr uses rocket.rs for routing, authentication and serving static files. All of this has to be migrated. The list below gives an overview of what has to be done.
The behavior should not change to make the migration as smooth as possible. For nearly all APIs multiple corresponding tests exist.
Contribute
The branch
migrate-to-axum
is used. If you intend to help with the migration, fork the project and use this branch as the base for your work. Please check the migrated APIs below, such that it is clear what is still missing and work is not done multiple times.Root - UI
The root serves mostly UI related APIs.
API
Tests
Static File Server
This route serve static file content, e.g. the user interface for Kellnr.
API
User
The user API manages all things related to Kellnr users, for example creating a user or adding a authentication token.
API
Tests
Crates
The API for the crates are implemted under
/api/v1/crates
. This is the heart of Kellnr and allowscargo
to push and pull crates.API
Tests
Crates.io
Kellnr can proxy and cache crates.io, as such it dublicates the crates API from above for crates.io
API
Tests
Not Found
Forward all
not found
pages to thevue.js
router.vue.js
router will take over from hereThe text was updated successfully, but these errors were encountered: