@Override public void handleLoginFailure(Request request, Response response, LoginContext context) throws Throwable { response.setStatus(HTTP.SC_UNAUTHORIZED); //TODO : error message }
@Override public void handleLogoutSuccess(Request request, Response response, LogoutContext context) throws Throwable { response.setStatus(HTTP.SC_OK); }
@Override public void handleLoginSuccess(Request request, Response response, LoginContext context) throws Throwable { response.setStatus(HTTP.SC_OK); }
@Override public void promoteLogin(Request request, Response response, LoginContext context) throws Throwable { response.setStatus(HTTP.SC_UNAUTHORIZED); }
@Override public void responseError(Response response, int status, ApiError error) { response.setStatus(status); error.response(response); }
@Override public void handleLoginFailure(Request request, Response response, LoginContext context) throws Throwable { goLoginUrl(request, response, context); if(response.getStatus() < HTTP.SC_MULTIPLE_CHOICES && response.getStatus() >= HTTP.SC_OK){ response.setStatus(HTTP.SC_UNAUTHORIZED); } }
protected void error(Response response, int status, String error, String desc){ response.setStatus(status); response.setContentType(ContentTypes.APPLICATION_JSON_UTF8); response.getJsonWriter() .startObject() .property("error", error) .propertyOptional("error_description", desc) .endObject(); } }
@Override protected boolean handleException(ApiErrorHandler errorHandler, Response response, Throwable e) { if(super.handleException(errorHandler, response, e)) { return true; } if(e instanceof RestClientResponseException) { RestClientResponseException re = (RestClientResponseException)e; writeHeaders(response, re); byte[] body = re.getResponseBodyAsByteArray(); if(null != body && body.length > 0) { response.setStatus(re.getRawStatusCode()); try { response.getOutputStream().write(body); }catch (Exception e1) { log.error("Error response body, " + e.getMessage(), e); } }else { errorHandler.responseError(response, re.getRawStatusCode(), re.getMessage()); } return true; } return false; }
protected void writeError(Request request, Response response, int status, String code, String desc) { response.setStatus(status); response.setContentType(ContentTypes.APPLICATION_JSON_UTF8); JsonWriter json = JSON.createWriter(response.getWriter()); json.startObject() .property("error", code) .propertyOptional("error_description", desc) .endObject(); }
protected void writeError(Request request, Response response, int status, String code, String desc) { response.setStatus(status); response.setContentType(ContentTypes.APPLICATION_JSON_UTF8); JsonWriter json = JSON.createWriter(response.getWriter()); json.startObject() .property("error", code) .propertyOptional("error_description", desc) .endObject(); }
void handleJsonSpecRequest(Api api, Request req, Response resp) throws Throwable { SwaggerJsonWriter w = new SwaggerJsonWriter(); w.setPropertyNamingStyle(api.getConfig().getPropertyNamingStyle()); resp.setContentType(w.getContentType()); String[] parts = req.getParameterValues("parts"); if(null != parts && parts.length == 1) { parts = Strings.split(parts[0], ','); } Set<String> partsSet = null == parts ? Collections.emptySet() : New.hashSet(parts); ApiSpecContext context = new ApiSpecContextImpl(req, partsSet); String json = toSwaggerJson(w, context, api.getMetadata()); String fingerprint = assetStrategy.getFingerprint(json.getBytes()); resp.setHeader(Headers.ETAG, "\"" + fingerprint + "\""); String ifNoneMatch = req.getHeader(Headers.IF_NONE_MATCH); if(!Strings.isEmpty(ifNoneMatch) && ifNoneMatch.equals("\"" + fingerprint + "\"")) { resp.setStatus(HTTP.SC_NOT_MODIFIED); }else { resp.getWriter().write(json); } }
public static void response(Response response, OAuth2Error error) { response.setStatus(error.getStatus()); response.setContentType(ContentTypes.APPLICATION_JSON_UTF8); JsonWriter w = JSON.createWriter(response.getWriter()); w.startObject() .property("error", error.getError()) .propertyOptional("error_description", error.getErrorDescription()) .endObject(); }
@Override public void handleAuthorizationDenied(Request request, Response response, SecurityContextHolder context) throws Throwable { SecuredPath path = context.getSecuredPath(); if(null != path && null != path.getFailureHandler()) { if(path.getFailureHandler().handleAuthorizationDenied(request,response, context)) { return; } } for(SecurityInterceptor si : config.getInterceptors()) { if(State.isIntercepted(si.onAuthorizationDenied(request, response, context))) { return; } } if(request.isAjax()){ response.setStatus(HTTP.SC_FORBIDDEN); }else{ //TODO : error view ? response.sendError(HTTP.SC_FORBIDDEN); } }
public static void response(Response response, OAuth2Error error) { response.setStatus(error.getStatus()); response.setContentType(ContentTypes.APPLICATION_JSON_UTF8); JsonWriter w = JSON.createWriter(response.getWriter()); w.startObject() .property("error", error.getError()) .property("error_code", error.getErrorCode()) .propertyOptional("referral", error.getReferral()) .propertyOptional("error_description", error.getErrorDescription()) .endObject(); }
@Override public void handleAuthenticationDenied(Request request, Response response, SecurityContextHolder context) throws Throwable { SecuredPath path = context.getSecuredPath(); if(null != path && null != path.getFailureHandler()) { if(path.getFailureHandler().handleAuthenticationDenied(request,response, context)) { return; } } for(SecurityInterceptor si : config.getInterceptors()) { if(State.isIntercepted(si.onAuthenticationDenied(request, response, context))) { return; } } loginManager.promoteLogin(request, response, context.getLoginContext()); if(response.getStatus() < HTTP.SC_MULTIPLE_CHOICES && response.getStatus() >= HTTP.SC_OK){ response.setStatus(HTTP.SC_UNAUTHORIZED); } }