builder: expose methods for determining if HTTP/1.1 or HTTP/2 support are enabled #164
Add this suggestion to a batch that can be applied as a single commit. This suggestion is invalid because no changes were made to the code. Suggestions cannot be applied while the pull request is closed. Suggestions cannot be applied while viewing a subset of changes. Only one suggestion per line can be applied in a batch. Add this suggestion to a batch that can be applied as a single commit. Applying suggestions on deleted lines is not supported. You must change the existing code in this line in order to create a valid suggestion. Outdated suggestions cannot be applied. This suggestion has been applied or marked resolved. Suggestions cannot be applied from pending reviews. Suggestions cannot be applied on multi-line comments. Suggestions cannot be applied while the pull request is queued to merge. Suggestion cannot be applied right now. Please check back later.
Context
When utilizing TLS, a user must know if they have their server configured to handle HTTP/1.1 and/or HTTP/2 to properly determine which protocols can be negotiated over ALPN.
This PR adds two new methods to
hyper_util::server::conn::auto::Builder:is_http1_availableandis_http2_available, which tie back to the inner version value used to determine how to serve a connection. In exposing these, users can now programmatically build the ALPN protocol list rather than having to hardcode it, potentially ending up with a mismatch between the hardcoded list and the actual feature flags enabled forhyper/hyper-util.