You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
several un-needed dependencies (hyper, serde, serde_json, async-trait, log, async-channel)
The use of both async-std and tokio doesn't really make sense, combined with another thread pool the setup seems in-efficient.
Remove the use of blocking sockets
The server only accepts another connection after the previously accepted connection has been read from, this will cause SIGNIFICANT performance issues especially if a client is slow at sending data.
Server doesn't actually support multiple requests on the same connection, which breaks any use in the real world because 1 connection can send many requests.
Server assumes that all content returned from the framework will be a string, which in reality should be Bytes because there is no guarantee in the HTTP world that the response must be UTF-8. || Add support for JSON and other types
Server only reads 1024 bytes of data from the socket when you first accept it, at least from what I can see. This means that if the request size is greater than 1024 the next request to go through that connection will be invalid in all likely hood.
The server doesn't check if the actual HTTP request itself is valid, it just assumes that if it contains GET, POST, etc... That it's valid meaning you could have a POST request contain GET in the body and the server would treat it like a GET.
No HTTP header handling, you simply assume the response from python will only be the body, which creates issues if you want to set any kind of headers or some other status code.
If the client disconnects from the connection early, Python call fails, or and conversion fails the server will panic, and depending on where that happens it can cause the entire server to just shut down.
The text was updated successfully, but these errors were encountered:
sansyrox
changed the title
Mini Roadmap | A list of issues that would require fixes
Mini Roadmap | A list of issues that would require fixing
Jun 19, 2021
Need to fix the following
several un-needed dependencies (hyper, serde, serde_json, async-trait, log, async-channel)
The use of both async-std and tokio doesn't really make sense, combined with another thread pool the setup seems in-efficient.
Remove the use of blocking sockets
The server only accepts another connection after the previously accepted connection has been read from, this will cause SIGNIFICANT performance issues especially if a client is slow at sending data.
Server doesn't actually support multiple requests on the same connection, which breaks any use in the real world because 1 connection can send many requests.
Server assumes that all content returned from the framework will be a string, which in reality should be Bytes because there is no guarantee in the HTTP world that the response must be UTF-8. || Add support for JSON and other types
Server only reads 1024 bytes of data from the socket when you first accept it, at least from what I can see. This means that if the request size is greater than 1024 the next request to go through that connection will be invalid in all likely hood.
The server doesn't check if the actual HTTP request itself is valid, it just assumes that if it contains GET, POST, etc... That it's valid meaning you could have a POST request contain GET in the body and the server would treat it like a GET.
No HTTP header handling, you simply assume the response from python will only be the body, which creates issues if you want to set any kind of headers or some other status code.
If the client disconnects from the connection early, Python call fails, or and conversion fails the server will panic, and depending on where that happens it can cause the entire server to just shut down.
The text was updated successfully, but these errors were encountered: