package org.cloudfoundry.identity.uaa.oauth; import java.io.IOException; import org.springframework.http.HttpStatus; import org.springframework.http.client.ClientHttpResponse; import org.springframework.security.oauth2.client.http.OAuth2ErrorHandler; import org.springframework.security.oauth2.client.resource.OAuth2ProtectedResourceDetails; public class UaaOauth2ErrorHandler extends OAuth2ErrorHandler { public HttpStatus.Series getErrorAtLevel() { return errorAtLevel; } public void setErrorAtLevel(HttpStatus.Series errorAtLevel) { this.errorAtLevel = errorAtLevel; } private HttpStatus.Series errorAtLevel = HttpStatus.Series.SERVER_ERROR; public UaaOauth2ErrorHandler(OAuth2ProtectedResourceDetails resource) { super(resource); } public UaaOauth2ErrorHandler(OAuth2ProtectedResourceDetails resource, HttpStatus.Series errorLevel) { this(resource); setErrorAtLevel(errorLevel); } @Override public boolean hasError(ClientHttpResponse response) throws IOException { return errorAtLevel.value() - response.getStatusCode().series().value() <= 0; } }