Skip to content

Conversation

@gjcairo
Copy link
Collaborator

@gjcairo gjcairo commented Aug 28, 2025

The current bootstrapping of the HTTP pipeline isn't fully correct. We're currently always setting up the pipeline using secure upgrade. This means that we need to wait for the SSL handshake to conclude to finish negotiating the protocol we're using. However, if we are setting up an insecure channel (i.e. without TLS) we never add a TLS handler to the pipeline, causing the protocol negotiation handler to wait forever for the handshake to finish. This means that insecure H1 requests currently don't work.

This PR changes this to set up the pipeline for H1 if TLS is not being used. We could consider adding h2c support.

}
} catch {
logger.debug("Error thrown while handling connection")
logger.debug("Error thrown while handling connection: \(error)")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to revisit the logs to not interpolate in the future

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I can open a PR to do this - should we include the error as metadata instead?

@gjcairo gjcairo merged commit 15ec951 into main Aug 28, 2025
3 of 18 checks passed
@gjcairo gjcairo deleted the bootstrap-fixes branch August 28, 2025 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants