Comments (2)
I wrote this issue because it would be good for users to freely control connection preface or Upgrade: h2c
using the flag for debugging purposes. That said, I have doubts about whether the feature is really necessary. It may bring unnecessary complexity.
We need to hear the opinions of other maintainers and users, but we may treat the existing behavior, which defaultUseHttp2Preface
affects h2c
, as a bug.
I think applying the defaultUseHttp2Preface
flag only to http
is straightforward and makes sense.
from armeria.
Hi, I'd like to work on a PR for this, but I'd like to confirm the following point before I start working on this.
Would there be a real or at least a debugging use case of using Upgrade: h2c
header over HTTP/1.1 to the endpoints explicitly configured to use h2c
?
Asking this because...:
- If the endpoint doesn't support
Upgrade: h2c
over HTTP/1.1, Armeria client will throwSessionProtocolNegotiationException
. - A server that supports
Upgrade: h2c
upgrade will almost always supportHTTP/2 prior knowledge
.
from armeria.
Related Issues (20)
- Support for degraded health HOT 1
- `RetryingClient` gets deadlocked when a decorator returns a failed response.
- Let `GrpcService` specify a maximum bound for `grpc-timeout` HOT 6
- Consider dropping `:` from path pattern
- Set `RequestLog#content` for `AnnotatedService` if a pojo is requested/returned
- Provide an easy way for users to leave `ClientConnectionTimings` to logs
- Include Current Attempt Number in Logs When Retrying
- Apply circuit breaker per connection
- Add ServerBuilder.http1ConnectionCloseDelayMillis() HOT 1
- Test failure: `com.linecorp.armeria.server.Http1ServerDelayedCloseConnectionTest.shouldWaitForDisconnectByClientSideFirst()`
- Test failure: `com.linecorp.armeria.internal.client.dns.DefaultDnsResolverTest.[2] resolvedAddressType=IPV6_PREFERRED`
- RoutingContext.withPath() doesn't respect Flags.allowSemicolonInPathComponent() HOT 1
- Test failure: `com.linecorp.armeria.testing.junit5.server.ServerExtensionTest.requestContextCaptor()` HOT 1
- Add `Flags.serverGracefulShutdownTimeout()` in Armeria 2.0
- Migrate to Micrometer Observation for better out-of-the-box behavior
- Test failure: `com.linecorp.armeria.server.InitiateConnectionShutdownTest.[2] path=/goaway_blocking?duration=500` HOT 1
- Add `StreamMessage.timeout()` HOT 2
- Test failure: `com.linecorp.armeria.xds.client.endpoint.RampingUpTest.checkEndpointsAreRampedUp()`
- Outlier detection for connections
- Add `exclude` option to `internal-services` in Spring integration
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from armeria.