@SlingServlet(metatype = true, resourceTypes = {"/apps/sling/servlet/errorhandler"}, extensions = {"404"}) public class ErrorServlet extends SlingSafeMethodsServlet { @Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setStatus(HttpServletResponse.SC_NOT_FOUND); RequestDispatcher dispatcher = request.getRequestDispatcher("myPath"); dispatcher.include(request,response); } }
/** * Handle POST request and send appropriate response after file * is uploaded. */ @Override protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { final String path = request.getParameter(PATH_REQUEST_PARAM); String file = fileUploadService.uploadFile(request, path); if (file != null) { response.setStatus(response.SC_OK); } else { response.setStatus(response.SC_INTERNAL_SERVER_ERROR); } } }
private void sendForbiddenWithMessage(SlingHttpServletResponse response, String message) throws IOException { response.setContentType("text/plain;charset=" + CharEncoding.UTF_8); response.getWriter().write(message); response.setStatus(HttpServletResponse.SC_FORBIDDEN); }
public static void sendJSONError(SlingHttpServletResponse response, int statusCode, String title, String message) throws IOException { response.setStatus(statusCode); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); JsonObject json = new JsonObject(); json.addProperty("title", title); json.addProperty("message", message); Gson gson = new Gson(); gson.toJson(json, response.getWriter()); } }
public static void writeJson(SlingHttpServletResponse response, DistributionResponse distributionResponse) throws IOException { switch (distributionResponse.getState()) { case DISTRIBUTED: response.setStatus(200); break; case DROPPED: response.setStatus(400); break; case ACCEPTED: response.setStatus(202); break; default: // TODO break; } JsonObject body = buildBody(distributionResponse); append(body, response.getWriter()); }
public static void writeJson(SlingHttpServletResponse response, int status, String message, @Nullable Map<String, String> kv) throws IOException { response.setStatus(status); JsonObject body = buildBody(message, kv); append(body, response.getWriter()); }
@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 doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { String operation = request.getParameter("operation"); try { if ("delete".equals(operation)) { deletePackage(request, response); } else if ("fetch".equals(operation)) { exportOnePackage(request, response, false); } else { exportOnePackage(request, response, true); } } catch (Throwable t) { response.setStatus(503); log.error("error while exporting package", t); } }
private void deletePackage(final SlingHttpServletRequest request, final SlingHttpServletResponse response) throws DistributionException { DistributionPackageExporter distributionPackageExporter = request .getResource() .adaptTo(DistributionPackageExporter.class); ResourceResolver resourceResolver = request.getResourceResolver(); String id = request.getParameter("id"); DistributionPackage distributionPackage = distributionPackageExporter.getPackage(resourceResolver, id); if (distributionPackage != null) { distributionPackage.delete(); log.debug("exported package {} was deleted", distributionPackage.getId()); response.setStatus(200); } else { response.setStatus(204); log.debug("nothing to delete {}", id); } }
@Override protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setContentType("text/plain"); DistributionRequest distributionRequest = RequestUtils.fromServletRequest(request); log.debug("distribution request : {}", distributionRequest); DistributionLog distributionLog = request.getResource().adaptTo(DistributionLog.class); PrintWriter writer = response.getWriter(); if (distributionLog != null) { for (String line : distributionLog.getLines()) { writer.append(line); writer.append("\n"); } } else { response.setStatus(404); writer.append("agent not found"); } } }
private void sendJSONError(SlingHttpServletResponse response, String title, String message) throws IOException { final JSONObject json = new JSONObject(); response.setStatus(SlingHttpServletResponse.SC_INTERNAL_SERVER_ERROR); try { json.put("title", title); json.put("message", message); response.getWriter().write(json.toString()); } catch (JSONException e) { String fallbackJSON = "{ \"title\": \"Error creating error response. " + "Please review AEM error logs.\" }"; response.getWriter().write(fallbackJSON); } }
@Override public final void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); try { if (workflowInstanceRemover.getStatus() != null) { response.getWriter().write(workflowInstanceRemover.getStatus().getJSON().toString()); } else { WorkflowRemovalStatus workflowStatus = new WorkflowRemovalStatus(request.getResourceResolver()); workflowStatus.setRunning(false); response.getWriter().write(workflowStatus.getJSON().toString()); } } catch (Exception e) { log.error("Unable to create Workflow Removal status", e); response.setStatus(SlingHttpServletResponse.SC_INTERNAL_SERVER_ERROR); response.getWriter().write(e.getMessage()); } } }
private void prepareCachedResponse(SlingHttpServletResponse response, CacheContent cacheContent) { response.setStatus(cacheContent.getStatus()); // Spool header info into the servlet response. for (String headerName : cacheContent.getHeaders().keySet()) { for (String headerValue : cacheContent.getHeaders().get(headerName)) { response.setHeader(headerName, headerValue); } } // Spool other attributes to the servlet response. response.setContentType(cacheContent.getContentType()); response.setCharacterEncoding(cacheContent.getCharEncoding()); }
@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.put("form", this.getFormJSONObject(request.getResourceResolver())); response.getWriter().write(json.toString()); } catch (Exception e) { response.setStatus(SlingHttpServletResponse.SC_INTERNAL_SERVER_ERROR); response.getWriter().write(e.getMessage()); } }
@Override protected final void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); final JSONArray jsonArray = new JSONArray(); try { for (Map.Entry<String, TagDataConverter> entry : this.tagDataConverters.entrySet()) { final JSONObject jsonObject = new JSONObject(); jsonObject.put("label", entry.getValue().getLabel()); jsonObject.put("value", entry.getKey()); jsonArray.put(jsonObject); } response.getWriter().print(jsonArray.toString()); } catch (JSONException e) { response.setStatus(SlingHttpServletResponse.SC_INTERNAL_SERVER_ERROR); } }
public static void sendJSONError(SlingHttpServletResponse response, int statusCode, String title, String message) throws IOException { response.setStatus(statusCode); response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); JSONObject json = new JSONObject(); try { json.put("title", title); json.put("message", message); response.getWriter().write(json.toString()); } catch (JSONException e) { String jsonString = "{title: \"Error constructing error message\"}"; response.getWriter().write(jsonString); } } }
@Override public final void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); try { if (workflowInstanceRemover.getStatus() != null) { response.getWriter().write(workflowInstanceRemover.getStatus().getJSON().toString()); } else { WorkflowRemovalStatus workflowStatus = new WorkflowRemovalStatus(request.getResourceResolver()); workflowStatus.setRunning(false); response.getWriter().write(workflowStatus.getJSON().toString()); } } catch (Exception e) { log.error("Unable to create Workflow Removal status", e); response.setStatus(SlingHttpServletResponse.SC_INTERNAL_SERVER_ERROR); response.getWriter().write(e.getMessage()); } } }
@Override public final void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { response.setContentType("application/json"); response.setCharacterEncoding("UTF-8"); try { workflowInstanceRemover.forceQuit(); if (workflowInstanceRemover.getStatus() != null) { response.getWriter().write(workflowInstanceRemover.getStatus().getJSON().toString()); } else { WorkflowRemovalStatus workflowStatus = new WorkflowRemovalStatus(request.getResourceResolver()); workflowStatus.setRunning(false); response.getWriter().write(workflowStatus.getJSON().toString()); } } catch (Exception e) { log.error("Unable to create Workflow Removal status after Force Quit", e); response.setStatus(SlingHttpServletResponse.SC_INTERNAL_SERVER_ERROR); response.getWriter().write(e.getMessage()); } } }
@Override protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { final String all = request.getParameter("confirmation"); final String fileName = request.getParameter("file"); ResourceResolver resolver = request.getResourceResolver(); if (fileName != null) { removeSingleFile(resolver, response, fileName); } else if (all != null) { removeAllFiles(resolver, response, all); } else { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); ServletUtils.writeMessage(response, "error", "Invalid arguments specified"); } }
@Override protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException { final String all = request.getParameter("confirmation"); final String fileName = request.getParameter("file"); ResourceResolver resolver = request.getResourceResolver(); if (fileName != null) { removeSingleFile(resolver, response, fileName); } else if (all != null) { removeAllFiles(resolver, response, all); } else { response.setStatus(HttpServletResponse.SC_BAD_REQUEST); ServletUtils.writeMessage(response, "error", "Invalid arguments specified"); } }