diff --git a/cms-server/pom.xml b/cms-server/pom.xml
index 89a306fb4..21d81e7e0 100644
--- a/cms-server/pom.xml
+++ b/cms-server/pom.xml
@@ -73,6 +73,10 @@
org.eclipse.jetty
jetty-server
+
+ org.eclipse.jetty.http2
+ jetty-http2-server
+
org.eclipse.jetty.compression
jetty-compression-server
diff --git a/cms-server/src/main/java/com/condation/cms/server/JettyServer.java b/cms-server/src/main/java/com/condation/cms/server/JettyServer.java
index fa56edd58..170807aea 100644
--- a/cms-server/src/main/java/com/condation/cms/server/JettyServer.java
+++ b/cms-server/src/main/java/com/condation/cms/server/JettyServer.java
@@ -53,6 +53,7 @@
import org.eclipse.jetty.compression.server.CompressionConfig;
import org.eclipse.jetty.compression.server.CompressionHandler;
import org.eclipse.jetty.http.HttpHeader;
+import org.eclipse.jetty.http2.server.HTTP2CServerConnectionFactory;
import org.eclipse.jetty.server.CustomRequestLog;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
@@ -171,6 +172,7 @@ public void startup() throws IOException {
httpConfig.setSendServerVersion(false);
httpConfig.setSendXPoweredBy(false);
HttpConnectionFactory http11 = new HttpConnectionFactory(httpConfig);
+ HTTP2CServerConnectionFactory h2c = new HTTP2CServerConnectionFactory(httpConfig);
//QueuedThreadPool threadPool = new QueuedThreadPool(properties.performance().request_workers());
QueuedThreadPool threadPool = new QueuedThreadPool();
@@ -180,7 +182,7 @@ public void startup() throws IOException {
server = new Server(threadPool);
server.setRequestLog(new CustomRequestLog(new Slf4jRequestLogWriter(), CustomRequestLog.EXTENDED_NCSA_FORMAT));
- ServerConnector connector = new ServerConnector(server, http11);
+ ServerConnector connector = new ServerConnector(server, http11, h2c);
connector.setPort(properties.serverPort());
connector.setHost(properties.serverIp());
diff --git a/modules/ui-module/src/main/java/com/condation/cms/modules/ui/http/RemoteCallHandler.java b/modules/ui-module/src/main/java/com/condation/cms/modules/ui/http/RemoteCallHandler.java
index 06717c8fb..1d33aebd4 100644
--- a/modules/ui-module/src/main/java/com/condation/cms/modules/ui/http/RemoteCallHandler.java
+++ b/modules/ui-module/src/main/java/com/condation/cms/modules/ui/http/RemoteCallHandler.java
@@ -25,6 +25,7 @@
import com.condation.cms.api.module.SiteRequestContext;
import com.condation.cms.api.ui.rpc.RPCError;
import com.condation.cms.api.ui.rpc.RPCResult;
+import com.condation.cms.auth.services.User;
import com.condation.cms.modules.ui.model.RemoteCall;
import com.condation.cms.modules.ui.services.RemoteMethodService;
import com.condation.cms.modules.ui.utils.json.UIGsonProvider;
@@ -63,12 +64,18 @@ public boolean handle(Request request, Response response, Callback callback) thr
RPCResult rpcResult;
try {
- Optional> result = remoteCallService.execute(remoteCall.method(), remoteCall.parameters(), getUser(request, moduleContext, requestContext).get());
- if (result.isPresent()) {
- rpcResult = new RPCResult(result.get());
+ final Optional userOpt = getUser(request, moduleContext, requestContext);
+ if (userOpt.isEmpty()) {
+ rpcResult = new RPCResult(new RPCError("no user present"));
} else {
- rpcResult = new RPCResult();
+ Optional> result = remoteCallService.execute(remoteCall.method(), remoteCall.parameters(), userOpt.get());
+ if (result.isPresent()) {
+ rpcResult = new RPCResult(result.get());
+ } else {
+ rpcResult = new RPCResult();
+ }
}
+
} catch (Exception e) {
log.error("error executing endpoint", remoteCall.method(), e);
rpcResult = new RPCResult(new RPCError(e.getMessage()));
diff --git a/pom.xml b/pom.xml
index 3b87d7780..ee36981d2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -175,6 +175,11 @@
jetty-server
${jetty.version}
+
+ org.eclipse.jetty.http2
+ jetty-http2-server
+ ${jetty.version}
+
org.projectlombok
lombok