diff options
author | Henrik <henrik.hoiness@online.no> | 2018-06-29 11:23:56 +0200 |
---|---|---|
committer | Henrik <henrik.hoiness@online.no> | 2018-06-29 11:23:56 +0200 |
commit | 66572192499a42a2101ef20a70cc1da6a4947d81 (patch) | |
tree | d28218d97c38df4b83965316eb265de57a9e9c1d /container-search/src/main/java/com/yahoo | |
parent | 95fa5c7f319cf3b7def95279a5979b64a1ba5b09 (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.java | 5 |
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); } |