-
Notifications
You must be signed in to change notification settings - Fork 0
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
Switch backend from pure Websocket API to a REST API #233
Comments
As of #241 we've fully switched to rweb! |
How are your experiences for now with |
@simonsan Great, until you try multiple |
Interesting, warp directly would not be an option? If so, why have you decided against it? |
We've initially been using warp actually (before gotham). The ergonomics of the Apart from the list above we also considered actix-web, but given some bad experience in the past, we decided against it (which might not have been a completely rational decision as from the things I know now, it would probably have been a great contender). But given that my current employer was using actix-web already and just recently migrated from it to axum, axum looks like an even better choice than previously because I can piggy back on my experience from work. Also the API is quite nice in terms of both being simple and powerful at the same time. But if you want to work with generated OpenAPI descriptions right now, taking another look at actix-web and paperclip might not be such a bad idea. |
Funnily I'm working with warp currently, more because I tried actix-web and it didn't work well with reqwest due to some incompatibility in the async runtime. So I was stuck with warp, because I wanted to stick with reqwest due to redirects, wasm and other things. So I thought warp and reqwest might be a good combination. I will try axum for sure as well for a smaller project and take a look at the ergonomics. Thank you for you review! |
|
Websockets are great for one-off notifications but not for request/response style communication.
Currently most of the API is actually following the request/response pattern which means that the Frontend needs to reimplement it on top of Websockets which involves request ID tracking and timeout handling. It's a much better idea to just use HTTP for that, since it's designed to follow the request/response model.
The initial version of the REST API should:
MediumVersion
currently provides)We're still evaluating if we stay with Gotham or switch to a different web framework for this. Web frameworks looked at:
The text was updated successfully, but these errors were encountered: