Andrew O'Hara
03/21/2024, 4:02 PMdave
03/21/2024, 4:05 PMdave
03/21/2024, 4:06 PMdave
03/21/2024, 4:07 PMdave
03/21/2024, 4:07 PMdave
03/21/2024, 4:07 PMAndrew O'Hara
03/21/2024, 4:47 PM//
. The stacktrace was from Jetty itself. Never hit my application. Not sure if this is Jetty's fault, or if there was something the http4k wrapper for Jetty could have configured to avoid it.dave
03/21/2024, 4:47 PMdave
03/21/2024, 4:48 PMAndrew O'Hara
03/21/2024, 4:49 PMorg.eclipse.jetty.http.BadMessageException: 400: Ambiguous URI empty segment
at org.eclipse.jetty.server.internal.HttpConnection$HttpStreamOverHTTP1.headerComplete(HttpConnection.java:1189)
at org.eclipse.jetty.server.internal.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:959)
at org.eclipse.jetty.http.HttpParser.parseFields(HttpParser.java:1251)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:1543)
at org.eclipse.jetty.server.internal.HttpConnection.parseRequestBuffer(HttpConnection.java:580)
at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:404)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:478)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:441)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:410)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:971)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1201)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1156)
at java.base/java.lang.Thread.run(Unknown Source)
dave
03/21/2024, 4:50 PMAndrew O'Hara
03/21/2024, 4:51 PMdave
03/21/2024, 4:54 PMdave
03/21/2024, 4:55 PMAndrew O'Hara
03/21/2024, 5:02 PMdave
03/21/2024, 5:03 PMAndrew O'Hara
03/21/2024, 5:03 PMdave
03/21/2024, 5:03 PMAndrew O'Hara
03/21/2024, 5:04 PMdave
03/21/2024, 5:04 PM@Test
fun `illegal url`() {
assertThat(client(Request(GET, "$baseUrl/v1/foo//bar")).bodyString().lowercase(), !containsSubstring("exception"))
}
Andrew O'Hara
03/21/2024, 5:05 PMdave
03/21/2024, 5:06 PM<h1>Bad Message 400</h1><pre>reason: Ambiguous URI empty segment</pre>
Andrew O'Hara
03/21/2024, 5:07 PMAndrew O'Hara
03/21/2024, 5:26 PMandyg
03/21/2024, 6:27 PMAndrew O'Hara
03/22/2024, 1:30 PMdave
03/22/2024, 1:48 PMAndrew O'Hara
03/22/2024, 2:58 PMdave
03/22/2024, 2:58 PM