Javadoc change in HttpExchange makes external implementations non-complaint
Ethan McCue
ethan at mccue.dev
Wed Dec 4 21:49:29 UTC 2024
Hi all,
This change (
https://github.com/openjdk/jdk/commit/40ae4699622cca72830acd146b7b5c4efd5a43ec)
makes the Jetty implementation of the SPI be no longer fit the Javadoc.
HttpContexts are not per-request while the previous Javadoc implied that
the attribute mechanism on exchanges was.
Before:
* Sets an attribute with the given {@code name} and {@code value} in
this exchange's
* {@linkplain HttpContext#getAttributes() context attributes}.
* or the exchange handler may then access these objects.
After:
* Sets an attribute with the given {@code name} and {@code value} in
this exchange's
* {@linkplain HttpContext#getAttributes() context attributes}.
*
* @apiNote {@link Filter} modules may store arbitrary objects as
attributes through
* {@code HttpExchange} instances as an out-of-band communication
mechanism. Other filters
* or the exchange handler may then access these objects.
The Jetty implementation, I think rightfully, assumed that this context was
per-request and implemented it as so.
https://github.com/jetty/jetty.project/blob/jetty-12.0.x/jetty-core/jetty-http-spi/src/main/java/org/eclipse/jetty/http/spi/JettyHttpExchangeDelegate.java#L223
As such, I don't think simply a javadoc change as a resolution to these
issues is applicable
https://bugs.openjdk.org/browse/JDK-8345233
https://bugs.openjdk.org/browse/JDK-8235786
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/net-dev/attachments/20241205/512aa913/attachment-0001.htm>
More information about the net-dev
mailing list