-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
SSL #1
Comments
ssl support for the client exists, still lacking server support |
Is it alright if I take a stab at this? |
@cactorium I'd be delighted if this showed up as a PR :D Some notes: I'd imagine adding a |
@seanmonstar Awesome :D I think I did it? #199 I'm still working on figuring out how to test it, but here's something to look at for now |
What's the story for certificate validation in the client? |
https://github.com/hyperium/hyper/blob/master/src/net.rs#L257 It looks like they're verified, peek around there and the openssl docs if you want more details: https://www.openssl.org/docs/ssl/SSL_CTX_set_verify.html |
Thanks: so (rust-)openssl does verification, but is something required on the hyper side? I see there's no default verifier included and the provided client example accepts everything for me. Is this expected? Should I file a bug for this? |
@veeti you can set a verifier function on Client. I guess a default could be similar to Python or nodejs. |
Update servo branch for rust upgrade + rustc workaround for SendStr issue.
Implements the missing enum cases in Http* and adds a new method to the default Server implementation to take advantage of the new TLS support Closes hyperium#1
It's ugly, but here's what I did: - Add `service::InformationalSender`, a type which wraps a `futures_channel::mspc::Sender<Response<()>>`. This may be added as an extension to a `Request` by the Hyper server, and the application and/or middleware may use it to send one or more informational responses before sending the real one. - Add code to proto::h1::dispatch and friends to add such an extension to each incoming request and then poll the `Receiver` end along with the future representing the final response. If the app never sends any informational responses, then everything proceeds as normal. Otherwise, we send those responses as they become available until the final response is ready. TODO hyperium#1: Also support informatinal responses in the HTTP/2 server. TODO hyperium#2: Come up with a less hacky API. Signed-off-by: Joel Dice <[email protected]>
It's ugly, but here's what I did: - Add `ext::InformationalSender`, a type which wraps a `futures_channel::mspc::Sender<Response<()>>`. This may be added as an extension to an inbound `Request` by the Hyper server, and the application and/or middleware may use it to send one or more informational responses before sending the real one. - Add code to proto::h1::dispatch and friends to add such an extension to each inbound request and then poll the `Receiver` end along with the future representing the final response. If the app never sends any informational responses, then everything proceeds as normal. Otherwise, we send those responses as they become available until the final response is ready. TODO hyperium#1: Also support informational responses in the HTTP/2 server. TODO hyperium#2: Come up with a less hacky API? Signed-off-by: Joel Dice <[email protected]>
This is a prototype intended to spur discussion about what support for 1xx informational responses should look like in a Hyper server. The good news is that it works great (for HTTP/1 only, so far). The bad news is it's kind of ugly. Here's what I did: - Add `ext::InformationalSender`, a type which wraps a `futures_channel::mspc::Sender<Response<()>>`. This may be added as an extension to an inbound `Request` by the Hyper server, and the application and/or middleware may use it to send one or more informational responses before sending the real one. - Add code to `proto::h1::dispatch` and friends to add such an extension to each inbound request and then poll the `Receiver` end along with the future representing the final response. If the app never sends any informational responses, then everything proceeds as normal. Otherwise, we send those responses as they become available until the final response is ready. TODO hyperium#1: Also support informational responses in the HTTP/2 server. TODO hyperium#2: Come up with a less hacky API? TODO hyperium#3: Add test coverage. Signed-off-by: Joel Dice <[email protected]>
This is a prototype intended to spur discussion about what support for 1xx informational responses should look like in a Hyper server. The good news is that it works great (for HTTP/1 only, so far). The bad news is it's kind of ugly. Here's what I did: - Add `ext::InformationalSender`, a type which wraps a `futures_channel::mspc::Sender<Response<()>>`. This may be added as an extension to an inbound `Request` by the Hyper server, and the application and/or middleware may use it to send one or more informational responses before sending the real one. - Add code to `proto::h1::dispatch` and friends to add such an extension to each inbound request and then poll the `Receiver` end along with the future representing the final response. If the app never sends any informational responses, then everything proceeds as normal. Otherwise, we send those responses as they become available until the final response is ready. TODO hyperium#1: Also support informational responses in the HTTP/2 server. TODO hyperium#2: Come up with a less hacky API? TODO hyperium#3: Add test coverage. Signed-off-by: Joel Dice <[email protected]>
No description provided.
The text was updated successfully, but these errors were encountered: