From a0a96b253b90d389a5c06ba1133b2a2f32ecb0fc Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Wed, 2 Dec 2015 11:48:40 +1300 Subject: Share session between two API versions --- src/org/traccar/web/BaseServlet.java | 2 +- src/org/traccar/web/WebServer.java | 31 ++++++++++++------------------- 2 files changed, 13 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/org/traccar/web/BaseServlet.java b/src/org/traccar/web/BaseServlet.java index d215c62d0..69a073d39 100644 --- a/src/org/traccar/web/BaseServlet.java +++ b/src/org/traccar/web/BaseServlet.java @@ -36,7 +36,7 @@ import org.traccar.Context; public abstract class BaseServlet extends HttpServlet { - public static final String USER_ID_KEY = "user"; + public static final String USER_ID_KEY = "userId"; public static final String ALLOW_ORIGIN_VALUE = "*"; public static final String ALLOW_HEADERS_VALUE = "Origin, X-Requested-With, Content-Type, Accept"; public static final String ALLOW_METHODS_VALUE = "GET, POST, PUT, DELETE"; diff --git a/src/org/traccar/web/WebServer.java b/src/org/traccar/web/WebServer.java index 85be02e4a..9cfe06e0e 100644 --- a/src/org/traccar/web/WebServer.java +++ b/src/org/traccar/web/WebServer.java @@ -60,15 +60,14 @@ public class WebServer { initServer(); switch (config.getString("web.type", "new")) { case "api": - initOldApi(); + initOldApi(false); break; case "old": - initOldApi(); + initOldApi(false); initOldWebApp(); break; default: - initOldApi(); - initRestApi(); + initOldApi(true); if (config.getBoolean("web.console")) { initConsole(); } @@ -103,10 +102,17 @@ public class WebServer { handlers.addHandler(app); } - @Deprecated - private void initOldApi() { + private void initOldApi(boolean initRest) { ServletContextHandler servletHandler = new ServletContextHandler(ServletContextHandler.SESSIONS); servletHandler.setContextPath("/api"); + if (initRest) { + ResourceConfig resourceConfig = new ResourceConfig(); + resourceConfig.register(SecurityRequestFilter.class); + resourceConfig.register(CorsResponseFilter.class); + resourceConfig.registerClasses( + ServerResource.class, SessionResource.class, DeviceResource.class, UserResource.class); + servletHandler.addServlet(new ServletHolder(new ServletContainer(resourceConfig)), "/rest/*"); + } servletHandler.addServlet(new ServletHolder(new AsyncServlet()), "/async/*"); servletHandler.addServlet(new ServletHolder(new ServerServlet()), "/server/*"); servletHandler.addServlet(new ServletHolder(new UserServlet()), "/user/*"); @@ -124,19 +130,6 @@ public class WebServer { handlers.addHandler(servletHandler); } - private void initRestApi() { - ResourceConfig resourceConfig = new ResourceConfig(); - resourceConfig.register(SecurityRequestFilter.class); - resourceConfig.register(CorsResponseFilter.class); - resourceConfig.registerClasses( - ServerResource.class, SessionResource.class, DeviceResource.class, UserResource.class); - - ServletContextHandler servletHandler = new ServletContextHandler(ServletContextHandler.SESSIONS); - servletHandler.setContextPath("/rest"); - servletHandler.addServlet(new ServletHolder(new ServletContainer(resourceConfig)), "/*"); - handlers.addHandler(servletHandler); - } - public void start() { try { server.start(); -- cgit v1.2.3