protected void setEditMode(final HstRequest request) { request.setAttribute(REQUEST_ATTR_CMS_EDIT, RequestContextProvider.get().isCmsRequest()); }
@Override public List<Mount> getMountsByHostGroup(final String hostGroupName) { final List<Mount> mountsByHostGroup = delegatee.getMountsByHostGroup(hostGroupName); List<Mount> previewMounts = new ArrayList<>(); for (Mount mount : mountsByHostGroup) { if (mount.isPreview() && RequestContextProvider.get().isCmsRequest()) { log.debug("Skipping *explicit* preview mounts for cms requests since they cannot be used in channel " + "manager."); continue; } previewMounts.add(decorateMountAsPreview(mount)); } return previewMounts; }
protected void setComponentId(final HstRequest request, final HstResponse response) { if (RequestContextProvider.get().isCmsRequest()) { request.setAttribute(REQUEST_ATTR_COMPONENT_ID, UUID.randomUUID().toString()); } else { request.setAttribute(REQUEST_ATTR_COMPONENT_ID, response.getNamespace()); } }
public HstSite getHstSite(final CompositeHstSite compositeHstSite, final HstRequestContext requestContext) { if (requestContext == null) { return compositeHstSite.getMaster(); } if (requestContext.isCmsRequest()) { return channelManagerHstSiteProvider.getHstSite(compositeHstSite, requestContext); } return websiteHstSiteProvider.getHstSite(compositeHstSite, requestContext); } }
/** * Write the aggregated output to the client. e.g, by flushing the {@code rootRenderingWindow} by default. * @param context {@link ValveContext} instance * @param rootRenderingWindow the root rendering {@link HstComponentWindow} instance * @throws ContainerException if HST Container exception occurs */ protected void writeAggregatedOutput(final ValveContext context, final HstComponentWindow rootRenderingWindow) throws ContainerException { final HstRequestContext requestContext = context.getRequestContext(); try { // add the X-HST-VERSION as a response header if we are in preview: boolean isPreviewOrCmsRequest = requestContext.isPreview() || requestContext.isCmsRequest(); if (isPreviewOrCmsRequest) { final HttpServletResponse servletResponse = context.getServletResponse(); setNoCacheHeaders(servletResponse); if (requestContext.getResolvedMount().getMount().isVersionInPreviewHeader()) { servletResponse.setHeader("X-HST-VERSION", HstServices.getImplementationVersion()); } } // flush root component window content. // note that the child component's contents are already flushed into the root component's response state. rootRenderingWindow.getResponseState().flush(); } catch (Exception e) { if (log.isDebugEnabled()) { log.warn("Exception during flushing the response state.", e); } else if (log.isWarnEnabled()) { log.warn("Exception during flushing the response state. {}", e.toString()); } } }
if(!requestContext.isCmsRequest()) { log.debug("Skipping cms edit url because not cms preview."); return EVAL_PAGE;
@Override public void doBeforeRender(final HstRequest request, final HstResponse response) throws HstComponentException { super.doBeforeRender(request, response); setComponentId(request, response); final EssentialsGoogleMapsComponentInfo paramInfo = getComponentParametersInfo(request); request.setAttribute(REQUEST_ATTR_PARAM_INFO, paramInfo); request.setAttribute("cmsrequest", RequestContextProvider.get().isCmsRequest()); } }
HstRequestContext requestContext = context.getRequestContext(); if(!requestContext.isCmsRequest()) { setResponseError(HttpServletResponse.SC_BAD_REQUEST, servletResponse, "Bad CMS REST call"); return;
public HstSiteMenuImpl(HstSiteMenus hstSiteMenus, HstSiteMenuConfiguration siteMenuConfiguration, HstRequestContext hstRequestContext) { this.hstSiteMenus = hstSiteMenus; this.name = siteMenuConfiguration.getName(); final boolean menuVisibleRegardlessRoles = hstRequestContext.isCmsRequest() && hstRequestContext.getResolvedMount().getMount().getVirtualHost().getVirtualHosts().isChannelMngrSiteAuthenticationSkipped(); for(HstSiteMenuItemConfiguration hstSiteMenuItemConfiguration : siteMenuConfiguration.getSiteMenuConfigurationItems()) { if (hstSiteMenuItemConfiguration.getRoles() == null || menuVisibleRegardlessRoles) { hstSiteMenuItems.add(new HstSiteMenuItemImpl(this, null, hstSiteMenuItemConfiguration , hstRequestContext)); } else { if (HstSiteMenuUtils.isUserInRole(hstSiteMenuItemConfiguration, hstRequestContext)) { hstSiteMenuItems.add(new HstSiteMenuItemImpl(this, null, hstSiteMenuItemConfiguration , hstRequestContext)); } } } }
if (!requestContext.isCmsRequest()) { log.debug("Skipping manageContent tag because not in cms preview."); return EVAL_PAGE;
} else if (requestContext.isCmsRequest() || requestContext.getResolvedMount().getMount().isContextPathInUrl()) { urlBuilder.append(containerURL.getContextPath());
if (!requestContext.isCmsRequest()) { log.debug("Skipping cms edit menu because not cms preview."); return EVAL_PAGE;
if (requestContext.isCmsRequest()) { if (requestContext.getResolvedMount().getMount().getVirtualHost().getVirtualHosts().isChannelMngrSiteAuthenticationSkipped()) { log.debug("Bypassing security valve because the request comes fo a CMS application and it's configured to skip authentication for those requests.");
if (requestContext.isCmsRequest() && existingSession instanceof HippoSession) {
HstRequestContext requestContext = context.getRequestContext(); if (!requestContext.isCmsRequest()) { String ignoredPrefix = requestContext.getResolvedMount().getMatchingIgnoredPrefix(); if (!StringUtils.isEmpty(ignoredPrefix) && ignoredPrefix.equals(requestContext.getResolvedMount()
if (requestContext.isCmsRequest()) { context.getPageCacheContext().markUncacheable("CMS requests are not cacheable"); log.debug("'{}' is not cacheable because request is cms request", request);
final boolean menuVisibleRegardlessRoles = hstRequestContext.isCmsRequest() && hstRequestContext.getResolvedMount().getMount().getVirtualHost().getVirtualHosts().isChannelMngrSiteAuthenticationSkipped(); for(HstSiteMenuItemConfiguration childItemConfiguration : hstSiteMenuItemConfiguration.getChildItemConfigurations()) { if (childItemConfiguration.getRoles() == null || menuVisibleRegardlessRoles) {
/** * returns <code>true</code> when the component window is marked as async. When the component is async due to a * ancestor is async, we also set <code>{@link #ASYNC_RENDERED_BY_ANCESTOR_FLAG_ATTR_NAME}</code> is * <code>true</code> on the HstRequest to indicate async due to ancestor * * @param window * @param request * @return */ private boolean isAsync(final HstComponentWindow window, final HstRequest request) { // in cms request context, we never load asynchronous if (request.getRequestContext().isCmsRequest()) { return false; } if (request.getRequestContext().getBaseURL().getComponentRenderingWindowReferenceNamespace() != null) { return false; } // check if there is already an async parent. HstComponentWindow parent = window.getParentWindow(); while (parent != null) { if (parent.getComponentInfo().isAsync()) { request.setAttribute(ASYNC_RENDERED_BY_ANCESTOR_FLAG_ATTR_NAME, Boolean.TRUE); return true; } parent = parent.getParentWindow(); } // check whether the component itself is asyn return window.getComponentInfo().isAsync(); }
if (requestContext.isCmsRequest()) { if (mount != null && mount.getContextPath() != null) { explicitContextPath = mount.getContextPath(); if (requestContext.isCmsRequest()) { renderHost = mount.getVirtualHost().getHostName(); } else if (!requestContext.isCmsRequest()) {
@Override public void invoke(ValveContext context) throws ContainerException { final HstRequestContext requestContext = context.getRequestContext(); final String componentRenderingWindowReferenceNamespace = requestContext.getBaseURL().getComponentRenderingWindowReferenceNamespace(); if (componentRenderingWindowReferenceNamespace == null) { // not a compoment rendering request, so skip it.. context.invokeNext(); return; } final HstComponentWindow window = context.getRootComponentWindow(); final HttpServletResponse servletResponse = requestContext.getServletResponse(); if (requestContext.isCmsRequest() || requestContext.isPreview()) { setNoCacheHeaders(servletResponse); } if (!window.getComponentInfo().isStandalone()) { // set the rendering window firsst context.setRootComponentRenderingWindow(window); // set the sitemap item root window as the root window because the backing componentInfo is standalone HstComponentWindow root = window; while(root.getParentWindow() != null) { root = root.getParentWindow(); } context.setRootComponentWindow(root); } context.invokeNext(); }