public VirtualHost getVirtualHost() { return resolvedSiteMount.getSiteMount().getVirtualHost(); }
/** * Resolves with the help of the current resolvedSiteMapItem to a new sitemap item with path <code>pathInfo</code> * @param request * @param response * @param currentResolvedSiteMapItem * @param pathInfo * @throws MatchException when the <code>pathInfo</code> cannot be matched * @return a new ResolvedSiteMapItem */ public ResolvedSiteMapItem matchSiteMapItem(HttpServletRequest request, HttpServletResponse response, ResolvedSiteMapItem currentResolvedSiteMapItem, String pathInfo) throws MatchException { return currentResolvedSiteMapItem.getResolvedSiteMount().matchSiteMapItem(pathInfo); }
private static String getDecodedPath(ResolvedSiteMount resSiteMount, HttpServletRequest request, String characterEncoding, boolean stripMountPath) { String encodePathInfo = request.getRequestURI().substring(request.getContextPath().length()); if(stripMountPath) { encodePathInfo = encodePathInfo.substring(resSiteMount.getResolvedMountPath().length()); } if (characterEncoding == null) { characterEncoding = request.getCharacterEncoding(); if (characterEncoding == null) { characterEncoding = "ISO-8859-1"; } } try { return URLDecoder.decode(encodePathInfo, characterEncoding); } catch (UnsupportedEncodingException e) { throw new IllegalArgumentException("Invalid character encoding: " + characterEncoding, e); } }
public HstContainerURL parseURL(HttpServletRequest request, ResolvedSiteMount mount, String requestPath) { HstContainerURLImpl url = new HstContainerURLImpl(); url.setContextPath(request.getContextPath()); url.setHostName(mount.getResolvedVirtualHost().getResolvedHostName()); url.setPortNumber(mount.getResolvedVirtualHost().getPortNumber()); url.setResolvedMountPath(mount.getResolvedMountPath()); url.setRequestPath(requestPath); url.setPathInfo(requestPath.substring(mount.getResolvedMountPath().length())); String characterEncoding = request.getCharacterEncoding(); if (characterEncoding == null) { characterEncoding = "ISO-8859-1"; } url.setCharacterEncoding(characterEncoding); return url; }
if (mount.getSiteMount().isSiteMount()) { ResolvedSiteMapItem resolvedSiteMapItem = requestContext.getResolvedSiteMapItem(); boolean processSiteMapItemHandlers = false; resolvedSiteMapItem = mount.matchSiteMapItem(hstContainerURL.getPathInfo()); if(resolvedSiteMapItem == null) { if(mount.getNamedPipeline() == null) { logger.warn(HstRequestUtils.getFarthestRequestHost(req)+"' and '"+req.getRequestURI()+"' could not be processed by the HST: No hstSite and no custom namedPipeline for SiteMount"); res.sendError(HttpServletResponse.SC_NOT_FOUND); logger.info("Processing request for pipeline '{}'", mount.getNamedPipeline()); HstServices.getRequestProcessor().processRequest(this.requestContainerConfig, requestContext, req, res, mount.getNamedPipeline());
public ResolvedSiteMapItem match(String pathInfo, ResolvedSiteMount resolvedSiteMount) throws NotFoundException { HstSite hstSite = resolvedSiteMount.getSiteMount().getHstSite(); log.warn("Did not find a matching sitemap item for path '{}', SiteMount '{}' and Host '"+resolvedSiteMount.getResolvedVirtualHost().getResolvedHostName()+"'" + ". Return null", pathInfo, resolvedSiteMount.getSiteMount().getParent() == null ? "hst:root" : resolvedSiteMount.getSiteMount().getMountPath() ); throw new NotFoundException("PathInfo '"+pathInfo+"' could not be matched"); } else {
/** * @param resolvedSiteMapItem * @return the HstURLFactory */ public HstURLFactory getURLFactory(ResolvedSiteMapItem resolvedSiteMapItem) { HstURLFactory factory = resolvedSiteMapItem.getResolvedSiteMount().getResolvedVirtualHost().getVirtualHost().getVirtualHosts().getVirtualHostsManager().getUrlFactory(); return factory; } }
ResolvedVirtualHost rvh = requestContext.getResolvedSiteMapItem().getResolvedSiteMount().getResolvedVirtualHost(); String targetContextPath = requestContext.isEmbeddedRequest() ? requestContext.getEmbeddingContextPath() : baseURL.getContextPath(); ResolvedSiteMount mount = rvh.matchSiteMount(targetContextPath, location); if (mount != null && mount.getSiteMount().isSiteMount()) {
public boolean isPreview() { return this.resolvedSiteMount.getSiteMount().isPreview(); }
public String toContextRelativeURLString(HstContainerURL containerURL, HstRequestContext requestContext) throws UnsupportedEncodingException, ContainerException { StringBuilder url = new StringBuilder(100); String mountPrefix = requestContext.isEmbeddedRequest() ? requestContext.getResolvedEmbeddingSiteMount().getResolvedMountPath() : containerURL.getResolvedMountPath(); if(mountPrefix != null) { url.append(mountPrefix); } String pathInfo = buildHstURLPath(containerURL); url.append(pathInfo); return url.toString(); }
public ResolvedSiteMapItem matchSiteMapItem(HstContainerURL hstContainerURL) throws MatchException{ ResolvedVirtualHost resolvedVirtualHost = matchVirtualHost(hstContainerURL.getHostName()); if(resolvedVirtualHost == null) { throw new MatchException("Unknown host '"+hstContainerURL.getHostName()+"'"); } ResolvedSiteMount resolvedSiteMount = resolvedVirtualHost.matchSiteMount(hstContainerURL.getContextPath(), hstContainerURL.getRequestPath()); if(resolvedSiteMount == null) { if(resolvedSiteMount == null) { throw new MatchException("resolvedVirtualHost '"+hstContainerURL.getHostName()+"' does not have a site mount"); } } return resolvedSiteMount.matchSiteMapItem(hstContainerURL.getPathInfo()); }
protected boolean isPreview(final HttpServletRequest servletRequest) { HstRequestContext requestContext = getHstRequestContext(servletRequest); SiteMount siteMount = requestContext.getResolvedSiteMount().getSiteMount(); return siteMount.isPreview(); }
log.debug("Found ResolvedSiteMount is '{}' and the mount prefix for it is :", resolvedSiteMount.getResolvedMountPath());
req.removeAttribute(ContainerConstants.HST_FORWARD_PATH_INFO); resolvedSiteMapItem = resolvedSiteMapItem.getResolvedSiteMount().matchSiteMapItem(forwardPathInfo); if(resolvedSiteMapItem == null) {
protected String getSiteContentPath(HttpServletRequest servletRequest) { HstRequestContext requestContext = getHstRequestContext(servletRequest); ResolvedSiteMount resolvedSiteMount = requestContext.getResolvedSiteMount(); return resolvedSiteMount.getSiteMount().getMountPoint() + "/" + HstNodeTypes.NODENAME_HST_CONTENTNODE; }
@Override public void invoke(ValveContext context) throws ContainerException { try { MethodUtils.invokeStaticMethod(busFactoryClass, "setThreadDefaultBus", new Object[] { bus }); HttpServletRequest request = context.getServletRequest(); ResolvedSiteMount resolvedSiteMount = context.getRequestContext().getResolvedSiteMount(); String servletPath = resolvedSiteMount.getResolvedMountPath(); String pathInfo = HstRequestUtils.getPathInfo(resolvedSiteMount, request); HttpServletRequest adjustedRequest = new PathsAdjustedHttpServletRequestWrapper(context.getServletRequest(), servletPath, pathInfo); MethodUtils.invokeMethod(servletController, "invoke", new Object[] { adjustedRequest, context.getServletResponse() }); } catch (Exception e) { if (log.isDebugEnabled()) { log.error("Failed to invoke jaxrs service.", e); } else { log.error("Failed to invoke jaxrs service. {}", e.toString()); } } finally { try { MethodUtils.invokeStaticMethod(busFactoryClass, "setThreadDefaultBus", new Object[] { null }); } catch (Exception ignore) { } } }
public Credentials getDefaultCredentials(HstRequestContext requestContext) { Credentials credentials = super.getDefaultCredentials(requestContext); if (credentials instanceof SimpleCredentials) { String siteName = requestContext.getResolvedSiteMapItem().getResolvedSiteMount().getSiteMount().getHstSite().getName(); String userID = ((SimpleCredentials) credentials).getUserID(); String userIDWithSiteName = userID + siteNameSeparator + siteName; char [] password = ((SimpleCredentials) credentials).getPassword(); if (requestContext.isPreview()) { credentials = defaultCredentialsForPreviewModeCache.get(userIDWithSiteName); if (credentials == null) { credentials = new SimpleCredentials(userIDWithSiteName, password); defaultCredentialsForPreviewModeCache.put(userIDWithSiteName, credentials); } } else { credentials = defaultCredentialsCache.get(userIDWithSiteName); if (credentials == null) { credentials = new SimpleCredentials(userIDWithSiteName, password); defaultCredentialsCache.put(userIDWithSiteName, credentials); } } } return credentials; }
public HstContainerURL parseURL(HstRequestContext requestContext, ResolvedSiteMount mount, String requestPath) { HstContainerURLImpl url = new HstContainerURLImpl(); HstContainerURL baseURL = requestContext.getBaseURL(); url.setContextPath(baseURL.getContextPath()); url.setHostName(baseURL.getHostName()); url.setPortNumber(baseURL.getPortNumber()); url.setResolvedMountPath(mount.getResolvedMountPath()); url.setRequestPath(requestPath); String [] namespacedPartAndPathInfo = splitPathInfo(requestPath.substring(mount.getResolvedMountPath().length()), baseURL.getCharacterEncoding()); url.setPathInfo(namespacedPartAndPathInfo[1]); parseRequestInfo(url,namespacedPartAndPathInfo[0]); url.setCharacterEncoding(baseURL.getCharacterEncoding()); return url; }
public Credentials getWritableCredentials(HstRequestContext requestContext) { Credentials credentials = super.getWritableCredentials(requestContext); if (credentials instanceof SimpleCredentials) { String siteName = requestContext.getResolvedSiteMapItem().getResolvedSiteMount().getSiteMount().getHstSite().getName(); String userID = ((SimpleCredentials) credentials).getUserID(); String userIDWithSiteName = userID + siteNameSeparator + siteName; char [] password = ((SimpleCredentials) credentials).getPassword(); credentials = writableCredentialsCache.get(userIDWithSiteName); if (credentials == null) { credentials = new SimpleCredentials(userIDWithSiteName, password); writableCredentialsCache.put(userIDWithSiteName, credentials); } } return credentials; } }
protected String resolveEmbeddedDispatchURL(PortletRequest request, PortletResponse response) { HstPortalContextProvider pcp = getPortalContextProvider(request); HstPortalRequestContext prc = pcp != null ? pcp.getPortalRequestContext(request) : null; ResolvedSiteMapItem rsmi = prc != null ? prc.getResolvedSiteMapItem() : null; HstComponentConfiguration hcc = rsmi != null ? rsmi.getHstComponentConfiguration() : null; if (hcc != null) { HstMutablePortletRequestContext hrc = createHstRequestContext(request, response); hrc.setTargetComponentPath(request.getPreferences().getValue(HST_COMPONENT_PATH, defaultHstComponentPath)); hrc.setEmbeddingContextPath(prc.getEmbeddingContextPath()); hrc.setResolvedEmbeddingSiteMount(prc.getResolvedEmbeddingSiteMount()); hrc.setResolvedSiteMount(rsmi.getResolvedSiteMount()); hrc.setResolvedSiteMapItem(rsmi); return new StringBuilder(rsmi.getResolvedSiteMount().getResolvedMountPath()).append("/").append(rsmi.getPathInfo()).toString(); } return null; } }