at0107
at0107

Reputation: 1

Using spring-boot-starter-parent 3.2.12 - ERROR 400 ILLEGAL PATH CHARACTER

In our application, due to a compliance check, the Spring Boot version was updated from 3.2.3 (which includes Jetty 12.0.8) to Spring Boot 3.2.12(which includes Jetty 12.0.15). After updating the version, if I hit any API with special characters, the API fails with an error.

<title>Error 400 Illegal Path Character</title>

**Sample API** - test/api/payload/%22test1%22.%22Sample%20-%20User%20-%20Info%22?TYPE=custom

Is there any way to resolve this issue when starting the application?

below exception is getting -

java.lang.IncompatibleClassChangeError: Found interface org.eclipse.jetty.server.Request, but class was expected
    at ch.qos.logback.access.jetty.JettyModernServerAdapter.getRequestTimestamp(JettyModernServerAdapter.java:51)
    at ch.qos.logback.access.spi.AccessEvent.calculateElapsedTime(AccessEvent.java:494)
    at ch.qos.logback.access.spi.AccessEvent.<init>(AccessEvent.java:103)
    at ch.qos.logback.access.jetty.RequestLogImpl.log(RequestLogImpl.java:256)
    at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.completeStream(HttpChannelState.java:751)
    at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.failed(HttpChannelState.java:738)
    at org.eclipse.jetty.server.internal.HttpChannelState.failed(HttpChannelState.java:1957)
    at org.eclipse.jetty.server.internal.HttpChannelState$ErrorCallback.succeeded(HttpChannelState.java:1747)
    at org.eclipse.jetty.util.ExceptionUtil.callAndThen(ExceptionUtil.java:442)
    at org.eclipse.jetty.server.handler.ErrorHandler$WriteErrorCallback.succeeded(ErrorHandler.java:630)
    at org.eclipse.jetty.util.thread.SerializedInvoker$Link.run(SerializedInvoker.java:268)
    at org.eclipse.jetty.util.thread.SerializedInvoker.run(SerializedInvoker.java:168)
    at org.eclipse.jetty.server.internal.HttpChannelState$ChannelResponse.succeeded(HttpChannelState.java:1324)
    at org.eclipse.jetty.server.internal.HttpConnection$SendCallback.onCompleteSuccess(HttpConnection.java:910)
    at org.eclipse.jetty.util.IteratingCallback.processing(IteratingCallback.java:354)
    at org.eclipse.jetty.util.IteratingCallback.iterate(IteratingCallback.java:243)
    at org.eclipse.jetty.server.internal.HttpConnection$HttpStreamOverHTTP1.send(HttpConnection.java:1421)
    at org.eclipse.jetty.server.internal.HttpChannelState$ChannelResponse.write(HttpChannelState.java:1299)
    at org.eclipse.jetty.server.handler.ErrorHandler.generateAcceptableResponse(ErrorHandler.java:257)
    at org.eclipse.jetty.server.handler.ErrorHandler.generateResponse(ErrorHandler.java:163)
    at org.eclipse.jetty.server.handler.ErrorHandler.handle(ErrorHandler.java:118)
    at org.eclipse.jetty.server.Response.writeError(Response.java:605)
    at org.eclipse.jetty.server.Response.writeError(Response.java:520)
    at org.eclipse.jetty.server.internal.HttpChannelState$ChannelCallback.failed(HttpChannelState.java:1604)
    at org.eclipse.jetty.server.internal.HttpChannelState.lambda$onFailure$1(HttpChannelState.java:444)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
    at java.base/java.lang.Thread.run(Thread.java:842)
    Suppressed: org.eclipse.jetty.http.BadMessageException: 400: Illegal Path Character
        at org.eclipse.jetty.server.internal.HttpConnection$HttpStreamOverHTTP1.headerComplete(HttpConnection.java:1186)
        at org.eclipse.jetty.server.internal.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:955)
        at org.eclipse.jetty.http.HttpParser.parseFields(HttpParser.java:1365)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1661)
        at org.eclipse.jetty.server.internal.HttpConnection.parseRequestBuffer(HttpConnection.java:579)
        at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:386)
        at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
        at```

Upvotes: 0

Views: 45

Answers (0)

Related Questions