jetty 9.4 behave differently from earlier versions (#2335)

This commit is contained in:
Lauri Tulmin 2021-02-19 01:38:45 +02:00 committed by GitHub
parent 72b84c5111
commit bc77ab0c82
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 4 deletions

View File

@ -20,6 +20,15 @@ import org.eclipse.jetty.servlet.ServletContextHandler
abstract class JettyServlet3Test extends AbstractServlet3Test<Server, ServletContextHandler> {
private static final boolean IS_BEFORE_94 = isBefore94()
static isBefore94() {
def version = Server.getVersion().split("\\.")
def major = Integer.parseInt(version[0])
def minor = Integer.parseInt(version[1])
return major < 9 || (major == 9 && minor < 4)
}
@Override
boolean testNotFound() {
false
@ -32,12 +41,12 @@ abstract class JettyServlet3Test extends AbstractServlet3Test<Server, ServletCon
@Override
boolean hasResponseSpan(ServerEndpoint endpoint) {
return endpoint == EXCEPTION || super.hasResponseSpan(endpoint)
return (IS_BEFORE_94 && endpoint == EXCEPTION) || super.hasResponseSpan(endpoint)
}
@Override
void responseSpan(TraceAssert trace, int index, Object controllerSpan, Object handlerSpan, String method, ServerEndpoint endpoint) {
if (endpoint == EXCEPTION) {
if (IS_BEFORE_94 && endpoint == EXCEPTION) {
sendErrorSpan(trace, index, handlerSpan)
}
super.responseSpan(trace, index, controllerSpan, handlerSpan, method, endpoint)

View File

@ -15,14 +15,23 @@ import org.eclipse.jetty.servlet.ServletHandler
class JettyServletHandlerTest extends AbstractServlet3Test<Server, ServletHandler> {
private static final boolean IS_BEFORE_94 = isBefore94()
static isBefore94() {
def version = Server.getVersion().split("\\.")
def major = Integer.parseInt(version[0])
def minor = Integer.parseInt(version[1])
return major < 9 || (major == 9 && minor < 4)
}
@Override
boolean hasResponseSpan(ServerEndpoint endpoint) {
return endpoint == EXCEPTION || super.hasResponseSpan(endpoint)
return (IS_BEFORE_94 && endpoint == EXCEPTION) || super.hasResponseSpan(endpoint)
}
@Override
void responseSpan(TraceAssert trace, int index, Object controllerSpan, Object handlerSpan, String method, ServerEndpoint endpoint) {
if (endpoint == EXCEPTION) {
if (IS_BEFORE_94 && endpoint == EXCEPTION) {
sendErrorSpan(trace, index, handlerSpan)
}
super.responseSpan(trace, index, controllerSpan, handlerSpan, method, endpoint)