aboutsummaryrefslogtreecommitdiffstats
path: root/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@oath.com>2018-04-09 09:46:07 +0200
committerBjørn Christian Seime <bjorncs@oath.com>2018-04-09 11:06:27 +0200
commit824f3828e5a2223d61b06f3026f99d81e5fd6515 (patch)
tree1fa0554a33e83b9fc7e0110d5a8c9ae2f448e8a4 /jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java
parentae16f5c60a31b9a8065a740f51a9c208002cc5ed (diff)
Return bad request response when encoding in query is invalid
Diffstat (limited to 'jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java')
-rw-r--r--jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java
index 476718ac906..39ad25244df 100644
--- a/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java
+++ b/jdisc_http_service/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactoryTest.java
@@ -513,6 +513,20 @@ public class HttpRequestFactoryTest {
}
}
+ @Test
+ public final void illegal_unicode_in_query_throws_requestexception() {
+ try {
+ HttpRequestFactory.newJDiscRequest(
+ new MockContainer(),
+ new MockRequest("http://example.com/search?query=%c0%ae"));
+ fail("Above statement should throw");
+ } catch (RequestException e) {
+ assertThat(e.getResponseStatus(), is(Response.Status.BAD_REQUEST));
+ assertThat(e.getMessage(), equalTo("Query violates RFC 2396: Not valid UTF8! byte C0 in state 0"));
+ }
+ }
+
+
private static final class MockContainer implements CurrentContainer {
@Override