Skip to content

Conversation

@seanmonstar
Copy link
Member

Creates a Negotiate type that uses an inner make-service, inspects the result, and then either returns an upgraded service, or fallback, depending on the negotiated. This is somewhat like a Router, but instead of routing on the request, it's routing on the response. It's an advanced form of an Either. The original use case is that of a connector that can sends ALPN to a destination, and can either comeback with HTTP/2 negotiated, or fallback to HTTP/1.

Closes hyperium/hyper#3955

@seanmonstar seanmonstar force-pushed the pool-negotiate branch 2 times, most recently from 6c3f61d to 11159bb Compare September 16, 2025 21:07
@seanmonstar seanmonstar force-pushed the pool-cache branch 2 times, most recently from f5b6508 to 4569561 Compare November 4, 2025 21:59
@seanmonstar seanmonstar force-pushed the pool-negotiate branch 2 times, most recently from d2465d2 to bdc1ab6 Compare November 18, 2025 19:30
@seanmonstar seanmonstar force-pushed the pool-cache branch 2 times, most recently from 2745303 to b7a439b Compare November 18, 2025 22:00
Base automatically changed from pool-cache to master December 2, 2025 16:21
@seanmonstar seanmonstar merged commit 567db01 into master Dec 2, 2025
18 checks passed
@seanmonstar seanmonstar deleted the pool-negotiate branch December 2, 2025 16:38
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.

Create a Negotiate pool service

2 participants