summaryrefslogtreecommitdiffstats
path: root/vespaclient-container-plugin/src/main
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-10-14 09:15:56 +0200
committerJon Marius Venstad <venstad@gmail.com>2020-10-14 09:15:56 +0200
commit8959673839e959ff48d4ce1961888791ff4e4346 (patch)
treeb07dcff64efb547c803b7b51ae87f19c44de45b2 /vespaclient-container-plugin/src/main
parent320d24ac771ed013a3d4fc408b4ca77a0f294e02 (diff)
Be stricter about request property parsing (and test this)
Diffstat (limited to 'vespaclient-container-plugin/src/main')
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java10
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) {