public MutableUrl(SlingHttpServletRequest request, boolean escapeNamespace) { originalPathInfo = request.getRequestPathInfo(); selectorsToAdd = new ArrayList<String>(); selectorsToRemove = new ArrayList<String>(); this.escapeNamespace = escapeNamespace; }
/** True if our request has the given selector */ private boolean hasSelector(SlingHttpServletRequest req, String selectorToCheck) { for (String selector : req.getRequestPathInfo().getSelectors()) { if (selectorToCheck.equals(selector)) { return true; } } return false; }
@Override public RequestPathInfo getRequestPathInfo() { return getSlingRequest().getRequestPathInfo(); }
/** * Checks if the given selector is present in the current URL request (at any position). * @param request Sling request * @param expectedSelector Selector string to check for. * @return true if the selector was found */ public static boolean hasSelector(@NotNull SlingHttpServletRequest request, @NotNull String expectedSelector) { String[] selectors = request.getRequestPathInfo().getSelectors(); return ArrayUtils.contains(selectors, expectedSelector); }
public static LibraryType fromRequest(SlingHttpServletRequest request) { String ext = request.getRequestPathInfo().getExtension(); if (ext.equals(JS_EXTENSION)) return JS; if (ext.equals(CSS_EXTENSION)) { return CSS; } return null; } }
@Override public boolean handleRequest(SlingHttpServletRequest request) { return request.getRequestPathInfo().getExtension().equals(CSV_EXTENSION); }
@Override public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer, NativeWebRequest webRequest, WebDataBinderFactory binderFactory) { Object request = webRequest.getNativeRequest(); if (request instanceof SlingHttpServletRequest) { return ((SlingHttpServletRequest) request).getRequestPathInfo(); } return null; } }
public boolean hasIncludeSelector(SlingHttpServletRequest request) { return ArrayUtils.contains(request.getRequestPathInfo().getSelectors(), includeSelector); }
@Override public Resource getResource(ResourceResolver resourceResolver, HttpServletRequest request, String path) { SlingHttpServletRequest slingHttp = (SlingHttpServletRequest) request; log.info("Selectors : {}", slingHttp.getRequestPathInfo().getSelectors().length ); return getResource(resourceResolver, path); }
@SlingServlet(paths = "/bin/test", selectors = {"first", "second"}, extensions = "json") public class SelectorExampleServlet extends SlingAllMethodsServlet { @Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { PrintWriter writer = response.getWriter(); RequestPathInfo requestPathInfo = request.getRequestPathInfo(); String[] selectors = requestPathInfo.getSelectors(); for (String selector : selectors) { writer.print(selector); writer.println(); // space } } }
private static String getResourceTypeFromSuffix(SlingHttpServletRequest request) { final String suffix = request.getRequestPathInfo().getSuffix(); return StringUtils.removeStart(suffix, "/"); } }
/** * Get the entire suffix. * * @param request * @return Returns null if Request's pathInfo or Suffix is null */ public static String getSuffix(final SlingHttpServletRequest request) { RequestPathInfo pathInfo = request.getRequestPathInfo(); if (pathInfo == null || pathInfo.getSuffix() == null) { return null; } return pathInfo.getSuffix(); }
private static String getResourceTypeFromSuffix(SlingHttpServletRequest request) { final String suffix = request.getRequestPathInfo().getSuffix(); return StringUtils.removeStart(suffix, "/"); }
public static Map<String, String> addPath(final SlingHttpServletRequest request, Map<String, String> map) { if (has(request, CF_PATH)) { map = put(request, map, CF_PATH, GROUP_PATH, true); } else { map.put(CF_PATH, request.getRequestPathInfo().getSuffix()); } return map; }
public static Map<String, String> addPath(final SlingHttpServletRequest request, Map<String, String> map) { if (has(request, CF_PATH)) { map = put(request, map, CF_PATH, GROUP_PATH, true); } else { map.put(CF_PATH, request.getRequestPathInfo().getSuffix()); } return map; }
private void runActionTypeInit(FormStructureHelper formStructureHelper) { final RequestPathInfo requestPathInfo = request.getRequestPathInfo(); if (response != null && !StringUtils.equals(requestPathInfo.getSelectorString(), SCRIPT_FORM_SERVER_VALIDATION) && StringUtils.isNotEmpty(actionType)) { final Resource formStart = formStructureHelper.getFormResource(request.getResource()); try { FormsHelper.runAction(actionType, INIT_SCRIPT, formStart, request, response); } catch (IOException | ServletException e) { LOGGER.error("Unable to initialise form " + resource.getPath(), e); } } }
@Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { if (Arrays.asList(request.getRequestPathInfo().getSelectors()).contains(BasePipe.PN_STATUS)){ response.getWriter().append(plumber.getStatus(request.getResource())); } else { execute(request, response, false); } }
@Override public final boolean hasValidSuffix(final SlingHttpServletRequest slingRequest) { final String requestSuffix = slingRequest.getRequestPathInfo().getSuffix(); if (StringUtils.equals(requestSuffix, this.getSuffix()) || StringUtils.startsWith(requestSuffix, this.getSuffix() + "/")) { return true; } return false; }
@Override public final boolean hasValidSuffix(final SlingHttpServletRequest slingRequest) { final String requestSuffix = slingRequest.getRequestPathInfo().getSuffix(); if (StringUtils.equals(requestSuffix, this.getSuffix()) || StringUtils.startsWith(requestSuffix, this.getSuffix() + "/")) { return true; } return false; }
@Override public String getURL() { String pagePath = currentPage.getPath(); String extension = request.getRequestPathInfo().getExtension(); String url = externalizer.publishLink(resourceResolver, pagePath) + "." + extension; return url; }