diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/server/CBConstants.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/server/CBConstants.java index 7ba17c53d1..da3a20b90f 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/server/CBConstants.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/server/CBConstants.java @@ -28,49 +28,34 @@ public class CBConstants { public static final String RUNTIME_PRODUCT_CONFIG_FILE_NAME = ".product.runtime.conf"; public static final String AUTO_CONFIG_FILE_NAME = ".cloudbeaver.auto.conf"; - public static final String PARAM_SERVER_CONFIGURATION = "server"; - public static final String PARAM_SERVER_PORT = "serverPort"; - public static final String PARAM_SERVER_HOST = "serverHost"; public static final String PARAM_SERVER_NAME = "serverName"; public static final String PARAM_FORCE_HTTPS = "forceHttps"; public static final String PARAM_BIND_SESSION_TO_IP = "bindSessionToIp"; public static final String PARAM_SUPPORTED_HOSTS = "supportedHosts"; - public static final String PARAM_SSL_CONFIGURATION_PATH = "sslConfigurationPath"; - public static final String PARAM_CONTENT_ROOT = "contentRoot"; - public static final String PARAM_ROOT_URI = "rootURI"; - public static final String PARAM_SERVICES_URI = "serviceURI"; - public static final String PARAM_DRIVERS_LOCATION = "driversLocation"; - public static final String PARAM_WORKSPACE_LOCATION = "workspaceLocation"; //legacy path to a product.conf file - @Deprecated public static final String PARAM_PRODUCT_CONFIGURATION = "productConfiguration"; public static final String PARAM_PRODUCT_SETTINGS = "productSettings"; public static final String PARAM_EXTERNAL_PROPERTIES = "externalProperties"; - public static final String PARAM_STATIC_CONTENT = "staticContent"; public static final String PARAM_RESOURCE_QUOTAS = "resourceQuotas"; public static final String PARAM_RESOURCE_MANAGER_ENABLED = "resourceManagerEnabled"; public static final String PARAM_SECRET_MANAGER_ENABLED = "secretManagerEnabled"; public static final String PARAM_SHOW_READ_ONLY_CONN_INFO = "showReadOnlyConnectionInfo"; public static final String PARAM_CONN_GRANT_ANON_ACCESS = "grantConnectionsAccessToAnonymousTeam"; - public static final String PARAM_AUTH_PROVIDERS = "authConfiguration"; public static final String PARAM_DB_CONFIGURATION = "database"; public static final String PARAM_SESSION_EXPIRE_PERIOD = "expireSessionAfterPeriod"; - public static final String PARAM_DEVEL_MODE = "develMode"; - public static final String PARAM_SECURITY_MANAGER = "enableSecurityManager"; public static final String PARAM_SM_CONFIGURATION = "sm"; public static final String PARAM_PASSWORD_POLICY_CONFIGURATION = "passwordPolicy"; public static final int DEFAULT_SERVER_PORT = 8080; - //public static final String DEFAULT_SERVER_NAME = "CloudBeaver Web Server"; + public static final String DEFAULT_CONTENT_ROOT = "/var/www/cloudbeaver"; public static final String DEFAULT_ROOT_URI = "/"; public static final String DEFAULT_SERVICES_URI = "/api/"; public static final String DEFAULT_DEPLOY_LOCATION = "/opt/cloudbeaver"; public static final String DEFAULT_DRIVERS_LOCATION = DEFAULT_DEPLOY_LOCATION + "/drivers"; - public static final String DEFAULT_WORKSPACE_LOCATION = DEFAULT_DEPLOY_LOCATION + "/workspace"; public static final String DEFAULT_PRODUCT_CONFIGURATION = "conf/product.conf"; public static final String DEFAULT_DATASOURCE_PERMISSIONS_CONFIGURATION = "data-sources-permissions.json"; public static final String DEFAULT_ADMIN_NAME = "cbadmin"; @@ -83,14 +68,11 @@ public class CBConstants { public static final String VAR_HOST_DOCKER_INTERNAL = "host.docker.internal"; public static final String VAR_AUTO_CB_SERVER_NAME = "CB_SERVER_NAME"; - public static final String VAR_AUTO_CB_SERVER_URL = "CB_SERVER_URL"; public static final String VAR_AUTO_CB_ADMIN_NAME = "CB_ADMIN_NAME"; public static final String VAR_AUTO_CB_ADMIN_PASSWORD = "CB_ADMIN_PASSWORD"; public static final String CB_SESSION_COOKIE_NAME = "cb-session-id"; - public static final String APPLICATION_JSON = "application/json"; - public static final String ADMIN_AUTO_GRANT = "auto-grant"; public static final String HOST_LOCALHOST = "localhost"; public static final String HOST_127_0_0_1 = "127.0.0.1"; diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/test/WebGQLClient.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/test/WebGQLClient.java index 7713b15f2a..393f4c3d19 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/test/WebGQLClient.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/test/WebGQLClient.java @@ -24,6 +24,7 @@ import org.jkiss.code.Nullable; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.model.data.json.JSONUtils; import org.jkiss.dbeaver.utils.GeneralUtils; +import org.jkiss.utils.HttpConstants; import java.net.CookieManager; import java.net.URI; @@ -127,7 +128,7 @@ public class WebGQLClient { .uri(URI.create(apiUrl)) .POST(HttpRequest.BodyPublishers.ofString(makeGQLRequest(query, variables))) .setHeader("TE-Client-Version", GeneralUtils.getMajorVersion()) - .header("Content-Type", "application/json"); + .header(HttpConstants.HEADER_CONTENT_TYPE, HttpConstants.CONTENT_TYPE_JSON); if (!requestHeaders.isEmpty()) { requestHeaders.forEach(requestBuilder::header); } diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/servlets/WebStatusServlet.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/servlets/WebStatusServlet.java index 02c8db0474..d10f02ea60 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/servlets/WebStatusServlet.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/servlets/WebStatusServlet.java @@ -17,7 +17,6 @@ package io.cloudbeaver.server.servlets; import com.google.gson.stream.JsonWriter; -import io.cloudbeaver.server.CBConstants; import io.cloudbeaver.server.WebAppUtils; import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; @@ -27,6 +26,7 @@ import org.eclipse.jetty.ee11.servlet.DefaultServlet; import org.jkiss.dbeaver.Log; import org.jkiss.dbeaver.model.data.json.JSONUtils; import org.jkiss.dbeaver.utils.GeneralUtils; +import org.jkiss.utils.HttpConstants; import java.io.IOException; import java.util.LinkedHashMap; @@ -39,7 +39,7 @@ public class WebStatusServlet extends DefaultServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - response.setContentType(CBConstants.APPLICATION_JSON); + response.setContentType(HttpConstants.CONTENT_TYPE_JSON); response.setHeader("Access-Control-Allow-Origin", "*"); Map infoMap = new LinkedHashMap<>(); infoMap.put("health", "ok"); diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/websockets/CBEventsLongPollingServlet.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/websockets/CBEventsLongPollingServlet.java index 1a40d50dd7..bf8e4d6324 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/websockets/CBEventsLongPollingServlet.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/server/websockets/CBEventsLongPollingServlet.java @@ -93,7 +93,7 @@ public class CBEventsLongPollingServlet extends HttpServlet { return; } - resp.setContentType(CBConstants.APPLICATION_JSON); + resp.setContentType(HttpConstants.CONTENT_TYPE_JSON); WSUtils.clientGson.toJson(Map.of("events", events), resp.getWriter()); } catch (InterruptedException e) { Thread.currentThread().interrupt(); @@ -239,7 +239,7 @@ public class CBEventsLongPollingServlet extends HttpServlet { ) { try { resp.setStatus(status); - resp.setContentType(CBConstants.APPLICATION_JSON); + resp.setContentType(HttpConstants.CONTENT_TYPE_JSON); Map error = Map.of( "error", message, diff --git a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/sql/WebSQLResultServlet.java b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/sql/WebSQLResultServlet.java index 6281354dfc..51b82a9bff 100644 --- a/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/sql/WebSQLResultServlet.java +++ b/server/bundles/io.cloudbeaver.server/src/io/cloudbeaver/service/sql/WebSQLResultServlet.java @@ -29,6 +29,7 @@ import org.jkiss.code.NotNull; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.Log; import org.jkiss.utils.CommonUtils; +import org.jkiss.utils.HttpConstants; import org.jkiss.utils.IOUtils; import java.io.IOException; @@ -64,7 +65,7 @@ public class WebSQLResultServlet extends WebServiceServletBase { } Path dataFile = getDataFile(request); session.addInfoMessage("Download LOB file ..."); - response.setHeader("Content-Type", "application/octet-stream"); + response.setHeader(HttpConstants.HEADER_CONTENT_TYPE, "application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=\"" + dataFile.getFileName().toString() + "\""); response.setHeader("Content-Length", String.valueOf(Files.size(dataFile))); response.setDateHeader("Expires", System.currentTimeMillis() + CBConstants.STATIC_CACHE_SECONDS * 1000); diff --git a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebAdminLogsServlet.java b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebAdminLogsServlet.java index b25fe8be78..51e956eefa 100644 --- a/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebAdminLogsServlet.java +++ b/server/bundles/io.cloudbeaver.service.admin/src/io/cloudbeaver/service/admin/impl/WebAdminLogsServlet.java @@ -5,15 +5,16 @@ import io.cloudbeaver.DBWebException; import io.cloudbeaver.model.session.WebSession; import io.cloudbeaver.server.CBApplication; import io.cloudbeaver.service.WebServiceServletBase; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.jkiss.dbeaver.DBException; import org.jkiss.dbeaver.Log; import org.jkiss.dbeaver.model.DBConstants; import org.jkiss.dbeaver.utils.GeneralUtils; import org.jkiss.dbeaver.utils.MimeTypes; +import org.jkiss.utils.HttpConstants; import org.jkiss.utils.IOUtils; -import jakarta.servlet.http.HttpServletRequest; -import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.nio.file.Files; @@ -47,7 +48,7 @@ public class WebAdminLogsServlet extends WebServiceServletBase { throw new DBWebException("Log file '" + logFileName + "' not found"); } - response.setHeader("Content-Type", MimeTypes.TEXT_PLAIN); + response.setHeader(HttpConstants.HEADER_CONTENT_TYPE, MimeTypes.TEXT_PLAIN); if (logFileName.equals(".log")) { logFileName = "server.log"; } diff --git a/server/bundles/io.cloudbeaver.service.data.transfer/src/io/cloudbeaver/service/data/transfer/impl/WebDataTransferImportServlet.java b/server/bundles/io.cloudbeaver.service.data.transfer/src/io/cloudbeaver/service/data/transfer/impl/WebDataTransferImportServlet.java index 5f58e8890a..fea98c8372 100644 --- a/server/bundles/io.cloudbeaver.service.data.transfer/src/io/cloudbeaver/service/data/transfer/impl/WebDataTransferImportServlet.java +++ b/server/bundles/io.cloudbeaver.service.data.transfer/src/io/cloudbeaver/service/data/transfer/impl/WebDataTransferImportServlet.java @@ -23,7 +23,6 @@ import io.cloudbeaver.model.WebAsyncTaskInfo; import io.cloudbeaver.model.WebConnectionInfo; import io.cloudbeaver.model.session.WebSession; import io.cloudbeaver.server.BaseWebPlatform; -import io.cloudbeaver.server.CBConstants; import io.cloudbeaver.server.WebAppUtils; import io.cloudbeaver.server.WebApplication; import io.cloudbeaver.service.WebServiceServletBase; @@ -40,6 +39,7 @@ import jakarta.servlet.http.HttpServletResponse; import org.jkiss.dbeaver.Log; import org.jkiss.dbeaver.model.data.json.JSONUtils; import org.jkiss.dbeaver.runtime.DBWorkbench; +import org.jkiss.utils.HttpConstants; import java.io.IOException; import java.io.InputStream; @@ -121,7 +121,7 @@ public class WebDataTransferImportServlet extends WebServiceServletBase { WebAsyncTaskInfo asyncImportDataContainer = dbwServiceDataTransfer.asyncImportDataContainer(processorId, filePath, webSQLResultsInfo, session); - response.setContentType(CBConstants.APPLICATION_JSON); + response.setContentType(HttpConstants.CONTENT_TYPE_JSON); Map parameters = new LinkedHashMap<>(); parameters.put("id", asyncImportDataContainer.getId()); parameters.put("name", asyncImportDataContainer.getName()); diff --git a/server/bundles/io.cloudbeaver.service.data.transfer/src/io/cloudbeaver/service/data/transfer/impl/WebDataTransferServlet.java b/server/bundles/io.cloudbeaver.service.data.transfer/src/io/cloudbeaver/service/data/transfer/impl/WebDataTransferServlet.java index 445379e8b3..6a2a067a08 100644 --- a/server/bundles/io.cloudbeaver.service.data.transfer/src/io/cloudbeaver/service/data/transfer/impl/WebDataTransferServlet.java +++ b/server/bundles/io.cloudbeaver.service.data.transfer/src/io/cloudbeaver/service/data/transfer/impl/WebDataTransferServlet.java @@ -28,6 +28,7 @@ import org.jkiss.dbeaver.Log; import org.jkiss.dbeaver.tools.transfer.registry.DataTransferProcessorDescriptor; import org.jkiss.dbeaver.tools.transfer.registry.DataTransferRegistry; import org.jkiss.utils.CommonUtils; +import org.jkiss.utils.HttpConstants; import java.io.IOException; @@ -69,7 +70,7 @@ public class WebDataTransferServlet extends WebServiceServletBase { } fileName = WebDataTransferUtils.normalizeFileName(fileName, taskInfo.getParameters().getOutputSettings()); session.addInfoMessage("Download data ..."); - response.setHeader("Content-Type", processor.getContentType()); + response.setHeader(HttpConstants.HEADER_CONTENT_TYPE, processor.getContentType()); response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\""); dtManager.exportDataTransferToStream(session.getProgressMonitor(), taskInfo, response.getOutputStream()); diff --git a/server/bundles/io.cloudbeaver.service.fs/src/io/cloudbeaver/service/fs/model/WebFSServlet.java b/server/bundles/io.cloudbeaver.service.fs/src/io/cloudbeaver/service/fs/model/WebFSServlet.java index 48df4aeb6c..a6f30953fb 100644 --- a/server/bundles/io.cloudbeaver.service.fs/src/io/cloudbeaver/service/fs/model/WebFSServlet.java +++ b/server/bundles/io.cloudbeaver.service.fs/src/io/cloudbeaver/service/fs/model/WebFSServlet.java @@ -35,6 +35,7 @@ import org.jkiss.dbeaver.model.data.json.JSONUtils; import org.jkiss.dbeaver.model.navigator.fs.DBNPathBase; import org.jkiss.dbeaver.runtime.DBWorkbench; import org.jkiss.utils.CommonUtils; +import org.jkiss.utils.HttpConstants; import org.jkiss.utils.IOUtils; import java.io.IOException; @@ -76,7 +77,7 @@ public class WebFSServlet extends WebServiceServletBase { private void doGet(WebSession session, HttpServletRequest request, HttpServletResponse response) throws DBException, IOException { Path path = WebFSUtils.getPathFromNode(session, request.getParameter("nodePath")); session.addInfoMessage("Download data ..."); - response.setHeader("Content-Type", "application/octet-stream"); + response.setHeader(HttpConstants.HEADER_CONTENT_TYPE, "application/octet-stream"); response.setHeader("Content-Disposition", "attachment; filename=\"" + path.getFileName() + "\""); response.setHeader("Content-Length", String.valueOf(Files.size(path)));