aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo
diff options
context:
space:
mode:
authorHenrik <henrik.hoiness@online.no>2018-06-29 11:23:56 +0200
committerHenrik <henrik.hoiness@online.no>2018-06-29 11:23:56 +0200
commit66572192499a42a2101ef20a70cc1da6a4947d81 (patch)
treed28218d97c38df4b83965316eb265de57a9e9c1d /container-search/src/main/java/com/yahoo
parent95fa5c7f319cf3b7def95279a5979b64a1ba5b09 (diff)
Now throwing QueryException for errors when parsing JSON to Slime
Diffstat (limited to 'container-search/src/main/java/com/yahoo')
-rw-r--r--container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java5
1 files changed, 4 insertions, 1 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
index 20727070aca..46f87334bcc 100644
--- a/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
+++ b/container-search/src/main/java/com/yahoo/search/handler/SearchHandler.java
@@ -59,6 +59,7 @@ import com.yahoo.statistics.Value;
import com.yahoo.vespa.configdefinition.SpecialtokensConfig;
import edu.umd.cs.findbugs.annotations.NonNull;
import java.io.IOException;
+import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
@@ -294,9 +295,11 @@ public class SearchHandler extends LoggingRequestHandler {
try {
byte[] byteArray = IOUtils.readBytes(request.getData(), 1 << 20);
inspector = SlimeUtils.jsonToSlime(byteArray).get();
+ if (inspector.field("error_message").valid()){
+ throw new QueryException("Illegal query: "+inspector.field("error_message").asString() + ", at: "+ new String(inspector.field("offending_input").asData(), StandardCharsets.UTF_8));
+ }
} catch (IOException e) {
- e.printStackTrace();
throw new RuntimeException("Problem with reading from input-stream", e);
}