/** * Write default response headers which are set in sitemap item, mount or virtual host configuration. * @param requestContext request context * @param response http servlet response */ private void writeDefaultResponseHeaders(final HstRequestContext requestContext, final HttpServletResponse response) { final Map<String, String> headerMap = getDefaultResponseHeaders(requestContext); if (headerMap != null) { headerMap.forEach((name, value) -> { response.setHeader(name, value); }); } }
if (isAutoReloadEndpoint(containerRequest)) { log.info("Auto reload websocket endpoint request for {}, skip hst request processing", containerRequest); chain.doFilter(request, response); VirtualHosts vHosts = hstManager.getVirtualHosts(isStaleConfigurationAllowedForRequest(containerRequest, hostName)); initializeResourceLifecycleManagements(); RequestContextProvider.set(requestContext); requestContextSetToProvider = true; if (renderingHost != null) { requestContext.setRenderHost(renderingHost); if (requestComesFromCms(vHosts, resolvedMount) && session != null && CmsSessionContext.getContext(session) != null) { requestContext.setCmsRequest(true); if (resolvedMount instanceof MutableResolvedMount) { setHstServletPath((GenericHttpServletRequestWrapper) containerRequest, resolvedMount); HstContainerURL hstContainerUrl = createOrGetContainerURL(containerRequest, hstManager, requestContext, resolvedMount, res); sendError(req, res, HttpServletResponse.SC_NOT_FOUND); return; finishMatchingPhase(requestContext); if (!isSupportedScheme(requestContext, resolvedSiteMapItem, farthestRequestScheme)) { final HstSiteMapItem hstSiteMapItem = resolvedSiteMapItem.getHstSiteMapItem(); final String urlWithExplicitSchemeForRequest;
resolvedSiteMapItem = processHandlers(resolvedSiteMapItem, siteMapItemHandlerFactory , containerRequest, res, filterChain); if(resolvedSiteMapItem == null) { return; writeDefaultResponseHeaders(requestContext, res); requestProcessor.processRequest(this.requestContainerConfig, requestContext, containerRequest, res, resolvedSiteMapItem.getNamedPipeline()); requestContext.setBaseURL(urlFactory.getContainerURLProvider().createURL(requestContext.getBaseURL(), forwardPathInfo)); processResolvedSiteMapItem(containerRequest, res, filterChain, hstSitesManager, siteMapItemHandlerFactory, requestContext, true);