diff options
Diffstat (limited to 'vespaclient-container-plugin/src/main')
-rw-r--r-- | vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java index 36bec39d10c..3158c4e31be 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java @@ -995,11 +995,15 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler { // ------------------------------------------------ Helpers ------------------------------------------------ private static Optional<String> getProperty(HttpRequest request, String name) { + if ( ! request.parameters().containsKey(name)) + return Optional.empty(); + List<String> values = request.parameters().get(name); - if (values != null && values.size() != 0) - return Optional.ofNullable(values.get(values.size() - 1)); + String value; + if (values == null || values.isEmpty() || (value = values.get(values.size() - 1)) == null || value.isEmpty()) + throw new IllegalArgumentException("Expected non-empty value for request property '" + name + "'"); - return Optional.empty(); + return Optional.of(value); } private static <T> Optional<T> getProperty(HttpRequest request, String name, Parser<T> parser) { |