Expose way for request handlers to determine if the request came over HTTP or HTTPS. #420
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.
Added a new flag on
DropshotState
so that a request handler can determine what type of server it is currently running in. There's unfortunately no standard header or such in HTTP/1.1 (HTTP/2 does expose it via the :scheme pseudo-header).Some motivation: In omicron, we currently stand up both an HTTP and HTTPS dropshot server with the same ApiEndpoints and thus handlers. For device auth, we need to construct absolute URIs for part of the response. We currently just have it hardcoded as http as we can't determine which to use. (*)
(*) Keeping both the http & https endpoints is temporary AFAIK so we could just change the hardcoded scheme later but the same premise still holds in general.
cc @plotnick