aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src
diff options
context:
space:
mode:
Diffstat (limited to 'container-core/src')
-rw-r--r--container-core/src/main/java/com/yahoo/restapi/RestApi.java17
-rw-r--r--container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java1
-rw-r--r--container-core/src/main/resources/configdefinitions/container.qr-searchers.def2
3 files changed, 11 insertions, 9 deletions
diff --git a/container-core/src/main/java/com/yahoo/restapi/RestApi.java b/container-core/src/main/java/com/yahoo/restapi/RestApi.java
index ee5628988c9..69cbf48cb1b 100644
--- a/container-core/src/main/java/com/yahoo/restapi/RestApi.java
+++ b/container-core/src/main/java/com/yahoo/restapi/RestApi.java
@@ -15,12 +15,11 @@ import com.yahoo.security.tls.ConnectionAuthContext;
import javax.net.ssl.SSLSession;
import java.io.InputStream;
+import java.math.BigDecimal;
import java.net.InetSocketAddress;
import java.security.Principal;
import java.util.List;
import java.util.Optional;
-import java.util.OptionalDouble;
-import java.util.OptionalLong;
/**
* Rest API routing and response serialization
@@ -149,6 +148,8 @@ public interface RestApi {
/** Scheme, domain and port, for the original request. <em>Use this only for generating resources links, not for custom routing!</em> */
// TODO: this needs to include path and query as well, to be useful for generating resource links that need not be rewritten.
HttpURL baseRequestURL();
+ /** Full URL of the request */
+ HttpURL url();
AclMapping.Action aclAction();
Optional<Principal> userPrincipal();
Principal userPrincipalOrThrow();
@@ -161,14 +162,14 @@ public interface RestApi {
String getStringOrThrow(String name);
default Optional<Boolean> getBoolean(String name) { return getString(name).map(Boolean::valueOf);}
default boolean getBooleanOrThrow(String name) { return Boolean.parseBoolean(getStringOrThrow(name)); }
- default OptionalLong getLong(String name) {
- return getString(name).map(Long::parseLong).map(OptionalLong::of).orElseGet(OptionalLong::empty);
- }
+ default Optional<Long> getLong(String name) { return getString(name).map(Long::parseLong); }
default long getLongOrThrow(String name) { return Long.parseLong(getStringOrThrow(name)); }
- default OptionalDouble getDouble(String name) {
- return getString(name).map(Double::parseDouble).map(OptionalDouble::of).orElseGet(OptionalDouble::empty);
- }
+ default Optional<Double> getDouble(String name) { return getString(name).map(Double::parseDouble); }
+ default int getIntegerOrThrow(String name) { return Integer.parseInt(getStringOrThrow(name)); }
+ default Optional<Integer> getInteger(String name) { return getString(name).map(Integer::parseInt); }
default double getDoubleOrThrow(String name) { return Double.parseDouble(getStringOrThrow(name)); }
+ default BigDecimal getBigDecimalOrThrow(String name) { return new BigDecimal(getStringOrThrow(name)); }
+ default Optional<BigDecimal> getBigDecimal(String name) { return getString(name).map(BigDecimal::new); }
}
interface PathParameters extends Parameters {
diff --git a/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java b/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java
index a381fd3c9a6..56e7f4e3098 100644
--- a/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java
+++ b/container-core/src/main/java/com/yahoo/restapi/RestApiImpl.java
@@ -479,6 +479,7 @@ class RestApiImpl implements RestApi {
}
return HttpURL.from(URI.create(sb.toString()));
}
+ @Override public HttpURL url() { return HttpURL.from(request.getUri()); }
@Override public AclMapping.Action aclAction() { return aclAction; }
@Override public Optional<Principal> userPrincipal() {
return Optional.ofNullable(request.getJDiscRequest().getUserPrincipal());
diff --git a/container-core/src/main/resources/configdefinitions/container.qr-searchers.def b/container-core/src/main/resources/configdefinitions/container.qr-searchers.def
index f8871e9f315..ac0c0dd6ada 100644
--- a/container-core/src/main/resources/configdefinitions/container.qr-searchers.def
+++ b/container-core/src/main/resources/configdefinitions/container.qr-searchers.def
@@ -25,7 +25,7 @@ com.yahoo.prelude.searcher.XMLStringSearcher.source string default=""
## Default docsum class the QR server should ask the backend to
## use for representing hints as default.
-com.yahoo.prelude.fastsearch.FastSearcher.docsum.defaultclass string default=""
+com.yahoo.prelude.fastsearch.IndexedBackend.docsum.defaultclass string default=""
com.yahoo.prelude.querytransform.PhrasingSearcher.automatonfile string default=""
com.yahoo.prelude.querytransform.NonPhrasingSearcher.automatonfile string default=""