@Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); final ValueMap properties = request.getResource().adaptTo(ValueMap.class); // TODO should escape output - good enough for our tests final PrintWriter pw = response.getWriter(); pw.println(String.format("<html><head><title>Planet at %s</title></head><body>", request.getResource().getPath())); pw.println(String.format("<p>Name: %s</p>", properties.get("name"))); pw.println(String.format("<p>Distance: %s</p>", properties.get("distance"))); pw.println("</body></html>"); pw.flush(); }
public Iterator<Resource> getResults() { String query = "SELECT * FROM [" + type + "] AS s WHERE CONTAINS(s.*, '" + term + "')"; if (StringUtils.isNotEmpty(path)) { query += " AND ISDESCENDANTNODE([" + path + "])"; } log.debug("Searching for content with {}", query); return request.getResourceResolver().findResources(query, Query.JCR_SQL2); } }
@Override public Map<String, String> getRequestPredicate(SlingHttpServletRequest request) { final Map<String, String> params = new HashMap<String, String>(); String term = request.getParameter(REQUEST_PARAM); if (StringUtils.isNotBlank(term)) { params.put("fulltext", term); } return params; }
private boolean isFirstInChain(final SlingHttpServletRequest request) { if (request.getAttribute(REQ_ATTR_PREVIOUSLY_PROCESSED) != null) { return false; } else { request.setAttribute(REQ_ATTR_PREVIOUSLY_PROCESSED, true); return true; } }
/** * Get the submitter's IP address. * * @param request The SlingHttpServlet request. * @return The submitter's IP address. */ private String getIPAddress(final SlingHttpServletRequest request) { String ipAddress = request.getHeader("X-FORWARDED-FOR"); if (ipAddress == null) { ipAddress = request.getRemoteAddr(); } return ipAddress; } }
/** * Return AssetList component HTML in the response. * * @param request The Sling HTTP servlet request. * @param response The Sling HTTP servlet response. */ @Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { Resource resource = request.getResourceResolver().getResource(ASSET_LIST_COMPONENT_PATH); request.getRequestDispatcher(resource).include(request, response); } }
@Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { try { response.setContentType("text/plain"); Session session = request.getResourceResolver().adaptTo(Session.class); response.getWriter().printf("userid=%s", session.getUserID()); response.getWriter().println(); for (String prefix : session.getNamespacePrefixes()) { response.getWriter().printf("%s=%s", prefix, session.getNamespaceURI(prefix)); response.getWriter().println(); } response.getWriter().flush(); } catch (RepositoryException e) { throw new ServletException("Unable to output namespace mappings", e); } }
@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 } } }
@Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { final String packName = request.getParameter("package"); final ExportedPackage p = packageAdmin.getExportedPackage(packName); if(p == null) { response.sendError(HttpServletResponse.SC_NOT_FOUND, "Package not found: " + packName); } else { response.setContentType("text/plain"); response.setCharacterEncoding("UTF-8"); response.getWriter().write("PACKAGE FOUND: "); response.getWriter().write(p.toString()); response.getWriter().flush(); } } }
@Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setHeader("Content-Type", " application/json; charset=UTF-8"); final JSONObject json = new JSONObject(); try { json.put("user", request.getResourceResolver().getUserID()); json.put("throttle", 200); response.getWriter().write(json.toString()); } catch (JSONException e) { response.sendError(SlingHttpServletResponse.SC_INTERNAL_SERVER_ERROR); response.getWriter().print("{\"status:\": \"error\"}"); } } }
@Override public final void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); final JsonObject json = new JsonObject(); try { // Only populate the form if removal is not running. json.add("form", this.getFormJSONObject(request.getResourceResolver())); Gson gson = new Gson(); gson.toJson(json, response.getWriter()); } catch (Exception e) { response.setStatus(SlingHttpServletResponse.SC_INTERNAL_SERVER_ERROR); response.getWriter().write(e.getMessage()); } }
@Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); Resource page = request.getResource(); GeometrixxMediaContentType contentType = page.adaptTo(GeometrixxMediaPage.class); response.getWriter().write(contentType.getJson().toJSONString()); } }
@Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { final SlingScript script = request.getResource().adaptTo(SlingScript.class); if(script == null) { throw new ServletException("Resource does not adapt to a SlingScript:" + request.getResource().getPath()); } // Execute the script without providing a request or response, in the simplest possible way final SlingBindings bindings = new SlingBindings(); final StringWriter sw = new StringWriter(); bindings.put("StandaloneScriptExecutionServletOutput", sw); script.eval(bindings); response.setContentType("text/plain"); response.getWriter().write(sw.toString()); } }
@Override public void doGet(SlingHttpServletRequest req, SlingHttpServletResponse resp) throws ServletException, IOException { resp.setContentType(req.getResponseContentType()); resp.setCharacterEncoding("UTF-8"); final boolean tidy = hasSelector(req, TIDY); final boolean harray = hasSelector(req, HARRAY); final JsonToText.Options opt = renderer.options().withIndent(tidy ? INDENT_SPACES : 0) .withArraysForChildren(harray); try { VersionManager vm = req.getResourceResolver().adaptTo(Session.class).getWorkspace().getVersionManager(); resp.getWriter().write(renderer.prettyPrint(getJsonObject(req.getResource(), vm), opt)); } catch (Exception e) { throw new ServletException(e); } }
@Override public Resource createUGCContainer(SlingHttpServletRequest request, UGCBucketConfig bucketConfig, String preview, String targetPath) throws PersistenceException { serviceResolver.refresh(); Resource resource = null; log.debug("Creating content of type {} in bucket {}", bucketConfig.getContentType(), bucketConfig.getBucket()); Map<String, Object> resourceProperties = new HashMap<>(); resourceProperties.put(JcrConstants.JCR_PRIMARYTYPE, CMSConstants.NT_UGC); resourceProperties.put("approveaction", bucketConfig.getAction().toString()); resourceProperties.put("contenttype", bucketConfig.getContentType().toString()); resourceProperties.put("preview", preview); resourceProperties.put("published", false); resourceProperties.put("referrer", request.getHeader("referer")); if (StringUtils.isNotBlank(targetPath)) { resourceProperties.put("targetpath", targetPath); } resourceProperties.put("user", request.getResourceResolver().getUserID()); resourceProperties.put("useragent", request.getHeader("User-Agent")); resourceProperties.put("userip", request.getRemoteAddr()); String contentPath = generatePath(bucketConfig); log.debug("Creating article contents {}", contentPath); resource = ResourceUtil.getOrCreateResource(serviceResolver, contentPath, resourceProperties, JcrResourceConstants.NT_SLING_ORDERED_FOLDER, true); return resource; }
public SearchResults(SlingHttpServletRequest request) { if (StringUtils.isNotEmpty(request.getParameter("type"))) { type = request.getParameter("type"); } if (StringUtils.isNotEmpty(request.getParameter("path"))) { path = request.getParameter("path"); } term = Text.escapeIllegalXpathSearchChars(request.getParameter("term")).replaceAll("'", "''"); this.request = request; }
private boolean accepts(final SlingHttpServletRequest slingRequest) { final Resource resource = slingRequest.getResource(); if (!StringUtils.equalsIgnoreCase("get", slingRequest.getMethod())) { // Only inject on GET requests return false; } else if (!StringUtils.startsWithAny(resource.getPath(), prefixes)) { return false; } else if (StringUtils.equals(slingRequest.getHeader("X-Requested-With"), "XMLHttpRequest")) { // Do not inject into XHR requests return false; } return true; }
private boolean containsHeader(String requiredHeader, SlingHttpServletRequest request) { final String name, expectedValue; if (StringUtils.contains(requiredHeader, '=')) { final String split[] = StringUtils.split(requiredHeader, '='); name = split[0]; expectedValue = split[1]; } else { name = requiredHeader; expectedValue = null; } final String actualValue = request.getHeader(name); if (actualValue == null) { return false; } else if (expectedValue == null) { return true; } else { return actualValue.equalsIgnoreCase(expectedValue); } }
@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 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); } }