-
Notifications
You must be signed in to change notification settings - Fork 87
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
Perseus rocket integration #266
Conversation
Thank you so much for this! You should be able to integrate it into the CI system quite simply, by adding this line to the bottom of the script in
That will add the rocket integration to all the tests, except those that are integration-locked, which will behave as you'd expect. You'll need to use |
Thanks for the feedback. I have run the tests, and everything passes for me with this latest commit. The initial load handler route that matches everything now has a rank of 100 instead of 0 because FileServer rocket routes default to 10. And that's the only change done to actual behavior. Edit: The CI is completely broken because of one package: cargo_toml :( |
Rebased on main to fix the cargo_toml issue. Edit: I've tried to delete my Cargo.lock and let cargo create it again but the tests still pass |
If everything is passing on your machine, that is fine. The i18n test is temperamental to say the least, and capsules sometimes fails as well. I usually just re-run them and wait for them to work. If it fails three times, I run locally. I will get around to automating the re-running of failing tests at some stage...\ I'm just releasing a new version to fix |
I just realized I forgot to figure out how to give the host parameter to Rocket. Maybe there are more things I forgot about, please don't hesitate to look thoroughly and I'll make the changes. |
Took the time to run the tests today with the latest commits and everything is successful locally. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few minor suggestions and this should be good to merge! Thank you so much for all your hard work!
P.S. Sorry for taking so long to get to this properly, I've been very busy the last few weeks.
I've made all the changes. The CI fails in ways that don't seem related to the changes I made. I have not taken the time to run any local tests to confirm though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a few very tiny things (one that I missed in the last pass).
Also thank you for your kind words, I try to make sure I really understand any code that's contributed to my projects, because I know that, at some stage, I'll probably have to wrangle with it! As for middleware, that's all very much theoretical right now, but I thank you very much for the offer!
Also I wouldn't worry about the CI for now, I'll sort that out on my end once this is merged. Most things are clearly working, and the CI is, as I said earlier, temperamental. |
There you go, I made many more than 2 passes and did not catch those issues, hopefully it's the last that remains from my careless copy pasting. I believe some of those links (the perseus repo link mainly) are outdated in other packages, I have copied basically all comments from the axum or warp integration (I don't remember which) and they still mention your own repo (not framesurge). It's out of scope for this PR though so I did not make any changes there. |
No problem! Yeah, I did a find-and-replace a long time ago to fix those which seemed to miss a few (dozen) files, which have slowly cropped up over time. There are redirects all in place so it's not a big deal, but I'll take a closer look and see where the leftovers are throughout the repo. With all that done, I think this is good to merge! Once again, thank you so much for all your hard work on this, it really is greatly appreciated! |
This is a rocket integration for perseus.
I have mainly tried to translate the other integrations into the rocket structure.
Here are a few notes I think are worth pointing out:
perseus_routes
), I find it more convenient for this case but it is probably possible to return a list of routes as long as the developer that will write a custom server later remembers to manage the variableopts
. This constraint can be worked around the same way I worked around the issue with the turbine containing generics.I'm not explaining the details of the code so you can have a clean view as a reviewer. That being said, I will happily explain and discuss my decisions when prompted.
Lastly, I hope the current CI is able to test if this integration is fully compatible with perseus. I'm open to feedback there, maybe something I could write that would make sure this integration works now and for the future.