[LOGBACK-1688] Fix request log on Jetty 10.0.x #586
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.
The compiled JAR for
logback-access:1.3.0
doesn't fully work with Jetty 10.0.x.When decompiling the JAR with
javap
, the followingMethodref
is used in theJettyModernServerAdapter#buildResponseHeaderMap()
method:Since the return type was changed to
HttpFields.Mutable
in Jetty 10.0.x, the method isn't found and the following exception is thrown:However, in both Jetty versions the return types implement
Iterable<HttpField>
, so we can resolve the correct method via reflection and cast the result toIterable<HttpField>
.Additionally, I think it's a good idea to make the
makeJettyServerAdapter
methodprotected
to give users the flexibility to disable the reflection usage, if this gets a performance issue.CC @joakime Maybe you can take a look at this, if this is correct or if I'm missing something.