public void init() { ServerSettings serverSettings = bimServer.getServerSettingsCache().getServerSettings(); this.url = serverSettings.getSiteAddress() + "/json"; }
try { String requestOrigin = request.getHeader("Origin"); if (requestOrigin != null && !bimServer.getServerSettingsCache().isHostAllowed(requestOrigin)) { response.setStatus(403); return; if (request.getRequestURI().endsWith(".getbimserveraddress")) { response.setContentType("application/json; charset=utf-8"); String siteAddress = bimServer.getServerSettingsCache().getServerSettings().getSiteAddress(); if (siteAddress == null || siteAddress.trim().isEmpty()) {
public ServerSettings getServerSettings() { if (serverSettings == null) { updateCache(); } return serverSettings; }
@Override public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (request.getHeader("Origin") != null && (getBimServer().getServerInfo().getServerState() != ServerState.MIGRATION_REQUIRED && !getBimServer().getServerSettingsCache().isHostAllowed(request.getHeader("Origin")))) { response.setStatus(403); return; } response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); response.setHeader("Access-Control-Allow-Headers", "Content-Type"); response.setCharacterEncoding("UTF-8"); try { ServletInputStream inputStream = request.getInputStream(); byte[] bytes = IOUtils.toByteArray(inputStream); // Not streaming here, because we want to be able to show the request-data when it's not valid if (LOGGER.isDebugEnabled()) { LOGGER.debug("Incoming JSON " + new String(bytes, Charsets.UTF_8)); } ObjectNode parse = OBJECT_MAPPER.readValue(new ByteArrayInputStream(bytes), ObjectNode.class); if (parse instanceof ObjectNode) { ObjectNode jsonRequest = (ObjectNode) parse; response.setHeader("Content-Type", "application/json"); getBimServer().getJsonHandler().execute(jsonRequest, request, response.getWriter()); } else { LOGGER.error("Invalid JSON request: " + new String(bytes, Charsets.UTF_8)); response.setStatus(500); } } catch (IOException e) { LOGGER.error("", e); response.setStatus(500); } } }
serverSettingsCache = new ServerSettingsCache(bimDatabase);
@Override public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (request.getHeader("Origin") != null && !getBimServer().getServerSettingsCache().isHostAllowed(request.getHeader("Origin"))) { response.setStatus(403); return;
public boolean isEnabled() { return bimServer.getServerSettingsCache().getServerSettings().getCacheOutputFiles(); }
public void init() { updateCache(); } }
@Override public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (request.getHeader("Origin") != null && !getBimServer().getServerSettingsCache().isHostAllowed(request.getHeader("Origin"))) { response.setStatus(403); return;
public boolean isEnabled() { return bimServer.getServerSettingsCache().getServerSettings().getCacheOutputFiles(); }
@Override public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (request.getHeader("Origin") != null && !getBimServer().getServerSettingsCache().isHostAllowed(request.getHeader("Origin"))) { response.setStatus(403); return;
public RunServiceAuthorization(BimServer bimServer, long uoid, long soid) { super(bimServer.getServerSettingsCache().getServerSettings().getSessionTimeOutSeconds(), TimeUnit.SECONDS); this.soid = soid; this.setUoid(uoid); }
@Override public void setWhiteListedDomains(final List<String> domains) throws ServerException, UserException { DatabaseSession session = getBimServer().getDatabase().createSession(); try { SetServerSettingDatabaseAction action = new SetServerSettingDatabaseAction(getBimServer(), session, getInternalAccessMethod(), new ServerSettingsSetter() { @Override public void set(ServerSettings serverSettings) { serverSettings.getWhitelistedDomains().clear(); serverSettings.getWhitelistedDomains().addAll(domains); } }); session.executeAndCommitAction(action); getBimServer().getServerSettingsCache().updateCache(); } catch (Exception e) { handleException(e); } finally { session.close(); } }
public SingleProjectAuthorization(BimServer bimServer, long uoid, long poid) { super(bimServer.getServerSettingsCache().getServerSettings().getSessionTimeOutSeconds(), TimeUnit.SECONDS); this.setUoid(uoid); this.poid = poid; }
@Override public void setServerSettings(SServerSettings serverSettings) throws ServerException, UserException { if (getBimServer().getServerInfo().getServerState() != ServerState.NOT_SETUP) { requireAdminAuthentication(); } DatabaseSession session = getBimServer().getDatabase().createSession(); try { SetServerSettingsDatabaseAction action = new SetServerSettingsDatabaseAction(session, getInternalAccessMethod(), serverSettings); session.executeAndCommitAction(action); getBimServer().getServerSettingsCache().updateCache(); } catch (Exception e) { handleException(e); } finally { session.close(); } }
@Override public BasicServerInfo getBasicServerInfo() { BasicServerInfo basicServerInfo = new BasicServerInfo(getServerSettingsCache().getServerSettings().getSiteAddress()); return basicServerInfo; } }
@Override public Boolean isAllowSelfRegistration() throws ServerException, UserException { return getBimServer().getServerSettingsCache().getServerSettings().getAllowSelfRegistration(); }
String data = NetUtils.getContent(new URL(getBimServer().getServerSettingsCache().getServerSettings().getServiceRepositoryUrl() + "/serviceproviders.json"), 5000); ObjectMapper objectMapper = new ObjectMapper(); ObjectNode servicesJson = objectMapper.readValue(data, ObjectNode.class);
@Override public String getSiteAddress() throws ServerException, UserException { requireAdminAuthenticationAndRunningServer(); return getBimServer().getServerSettingsCache().getServerSettings().getSiteAddress(); }