@Override public int status() { return delegate.status(); }
@Override public void status(int statusCode) { delegate.status(statusCode); }
default String notModified(Response res) { res.status(304); return NOTHING; }
private void invalidJsonPayload(JsonParseException ex, Request req, Response res) { res.body(new Gson().toJson(Collections.singletonMap("error", "Payload data is not valid JSON: " + ex.getMessage()))); res.status(HttpStatus.SC_BAD_REQUEST); }
private void unprocessableEntity(UnprocessableEntityException exception, Request request, Response response) { response.body(new Gson().toJson(Collections.singletonMap("message", "Your request could not be processed. " + exception.getMessage()))); response.status(HttpStatus.SC_UNPROCESSABLE_ENTITY); }
String triggerUpdate(Request req, Response res) { MaterialConfig materialConfig = repoFromRequest(req).getMaterialConfig(); if (mus.updateMaterial(converter.toMaterial(materialConfig))) { res.status(HttpStatus.CREATED.value()); return MessageJson.create("OK"); } else { res.status(HttpStatus.CONFLICT.value()); return MessageJson.create("Update already in progress."); } }
default void notFound(Exception ex, Request req, Response res) { res.status(HttpStatus.NOT_FOUND.value()); res.body(MessageJson.create(notFoundMessage())); }
public String completeReporting(Request request, Response response) throws IOException { HttpLocalizedOperationResult result = new HttpLocalizedOperationResult(); usageStatisticsReportingService.completeReporting(result); if (!result.isSuccessful()) { return renderHTTPOperationResult(result, request, response); } response.status(204); return NOTHING; }
default String handleSimpleMessageResponse(Response res, HttpLocalizedOperationResult result) { if (!result.isSuccessful()) { res.status(result.httpCode()); } return MessageJson.create(result.message()); }
public String startReporting(Request request, Response response) throws IOException { HttpLocalizedOperationResult result = new HttpLocalizedOperationResult(); usageStatisticsReportingService.startReporting(result); if (!result.isSuccessful()) { return renderHTTPOperationResult(result, request, response); } response.status(204); return NOTHING; }
default String renderHTTPOperationResult(HttpLocalizedOperationResult result, Request request, Response response) throws IOException { response.status(result.httpCode()); return writerForTopLevelObject(request, response, writer -> writer.add("message", result.message())); }
default String renderHTTPOperationResult(HttpOperationResult result, Request request, Response response) throws IOException { response.status(result.httpCode()); return writerForTopLevelObject(request, response, writer -> writer.add("message", result.fullMessage())); }
public String bulkDelete(Request req, Response res) throws Exception { BulkUpdateUsersOperationResult result = new BulkUpdateUsersOperationResult(); JsonReader jsonReader = GsonTransformer.getInstance().jsonReaderFrom(req.body()); List<String> users = jsonReader.readStringArrayIfPresent("users").orElse(Collections.emptyList()); userService.deleteUsers(users, result); if (!result.isSuccessful()) { res.status(result.httpCode()); return writerForTopLevelObject(req, res, outputWriter -> BulkDeletionFailureResultRepresenter.toJSON(outputWriter, result)); } return renderHTTPOperationResult(result, req, res); }
private String handleCreateOrUpdateResponse(Request req, Response res, AgentInstance agentInstance, HttpOperationResult result) { if (result.isSuccess()) { return jsonize(req, agentInstance); } else { res.status(result.httpCode()); String errorMessage = result.message(); return null == agentInstance ? MessageJson.create(errorMessage) : MessageJson.create(errorMessage, jsonWriter(agentInstance)); } } }
public String bulkUpdateUsersState(Request req, Response res) throws Exception { BulkUpdateUsersOperationResult result = new BulkUpdateUsersOperationResult(); JsonReader jsonReader = GsonTransformer.getInstance().jsonReaderFrom(req.body()); List<String> users = jsonReader.readStringArrayIfPresent("users").orElse(Collections.emptyList()); boolean shouldEnable = jsonReader.readJsonObject("operations").getBoolean("enable"); userService.bulkEnableDisableUsers(users, shouldEnable, result); if (!result.isSuccessful()) { res.status(result.httpCode()); return writerForTopLevelObject(req, res, outputWriter -> BulkDeletionFailureResultRepresenter.toJSON(outputWriter, result)); } return renderHTTPOperationResult(result, req, res); }
default String handleCreateOrUpdateResponse(Request req, Response res, Entity entity, HttpLocalizedOperationResult result) { if (result.isSuccessful()) { setEtagHeader(entity, res); return jsonize(req, entity); } else { res.status(result.httpCode()); String errorMessage = result.message(); return null == entity ? MessageJson.create(errorMessage) : MessageJson.create(errorMessage, jsonWriter(entity)); } }
public String disableMaintenanceModeState(Request req, Response res) throws Exception { HttpLocalizedOperationResult result = new HttpLocalizedOperationResult(); ServerMaintenanceMode existingMaintenanceModeState = maintenanceModeService.get(); if (!existingMaintenanceModeState.isMaintenanceMode()) { result.conflict("Failed to disable server maintenance mode. Server is not in maintenance mode."); return renderHTTPOperationResult(result, req, res); } maintenanceModeService.update(new ServerMaintenanceMode(false, currentUserLoginName().toString(), clock.currentTime())); res.status(204); return NOTHING; }
public String enableMaintenanceModeState(Request req, Response res) throws Exception { HttpLocalizedOperationResult result = new HttpLocalizedOperationResult(); ServerMaintenanceMode existingMaintenanceModeState = maintenanceModeService.get(); if (existingMaintenanceModeState.isMaintenanceMode()) { result.conflict("Failed to enable server maintenance mode. Server is already in maintenance mode."); return renderHTTPOperationResult(result, req, res); } maintenanceModeService.update(new ServerMaintenanceMode(true, currentUserLoginName().toString(), clock.currentTime())); res.status(204); return NOTHING; }
@Override public void setupRoutes() { path(controllerBasePath(), () -> { before("", mimeType, this::setContentType); before("/*", mimeType, this::setContentType); before("", this::verifyContentType); before("/*", this::verifyContentType); before("", mimeType, apiAuthenticationHelper::checkAnyAdminUserAnd403); before("/*", mimeType, apiAuthenticationHelper::checkAnyAdminUserAnd403); before("", mimeType, this::checkRateLimitAvailable); post("", mimeType, this::encrypt); exception(CryptoException.class, (CryptoException exception, Request request, Response response) -> { response.status(HttpStatus.INTERNAL_SERVER_ERROR.value()); response.body(MessageJson.create(HaltApiMessages.errorWhileEncryptingMessage())); }); }); }
public String bulkUpdate(Request request, Response response) throws IOException { JsonReader jsonReader = GsonTransformer.getInstance().jsonReaderFrom(request.body()); BulkUpdateRequest bulkUpdateRequest = BulkUpdateRequestRepresenter.fromJSON(jsonReader); BulkUpdateAdminsResult result = adminsConfigService.bulkUpdate(currentUsername(), bulkUpdateRequest.getUsersToAdd(), bulkUpdateRequest.getUsersToRemove(), bulkUpdateRequest.getRolesToAdd(), bulkUpdateRequest.getRolesToRemove(), etagFor(adminsConfigService.systemAdmins())); if (result.isSuccessful()) { return writerForTopLevelObject(request, response, jsonWriter(adminsConfigService.systemAdmins())); } else { response.status(result.httpCode()); return writerForTopLevelObject(request, response, outputWriter -> BulkUpdateFailureResultRepresenter.toJSON(outputWriter, result)); } }