case BASIC_PREEMPTIVE: case BASIC_NON_PREEMPTIVE: this.basicAuth = new BasicAuthenticator(basicCredentials); this.digestAuth = null; break; break; case UNIVERSAL: this.basicAuth = new BasicAuthenticator(basicCredentials); this.digestAuth = new DigestAuthenticator(digestCredentials, limit); break;
/** * Adds authentication information to the request. * * @param request Request context. * @throws RequestAuthenticationException in case that basic credentials missing or are in invalid format */ public void filterRequest(ClientRequestContext request) throws RequestAuthenticationException { HttpAuthenticationFilter.Credentials credentials = HttpAuthenticationFilter.getCredentials(request, defaultCredentials, HttpAuthenticationFilter.Type.BASIC); if (credentials == null) { throw new RequestAuthenticationException(LocalizationMessages.AUTHENTICATION_CREDENTIALS_MISSING_BASIC()); } request.getHeaders().add(HttpHeaders.AUTHORIZATION, calculateAuthentication(credentials)); }
basicAuth.filterRequest(request); operation = Type.BASIC; } else if (mode == HttpAuthenticationFeature.Mode.BASIC_NON_PREEMPTIVE) { request.setProperty(REQUEST_PROPERTY_OPERATION, lastSuccessfulMethod); if (lastSuccessfulMethod == Type.BASIC) { basicAuth.filterRequest(request); operation = Type.BASIC; } else if (lastSuccessfulMethod == Type.DIGEST) {
basicAuth.filterResponseAndAuthenticate(request, response); success = basicAuth.filterResponseAndAuthenticate(request, response); } else if (result == Type.DIGEST) { success = digestAuth.filterResponse(request, response);
basicAuth.filterResponseAndAuthenticate(request, response); success = basicAuth.filterResponseAndAuthenticate(request, response); } else if (result == Type.DIGEST) { success = digestAuth.filterResponse(request, response);
/** * Adds authentication information to the request. * * @param request Request context. * @throws RequestAuthenticationException in case that basic credentials missing or are in invalid format */ public void filterRequest(ClientRequestContext request) throws RequestAuthenticationException { HttpAuthenticationFilter.Credentials credentials = HttpAuthenticationFilter.getCredentials(request, defaultCredentials, HttpAuthenticationFilter.Type.BASIC); if (credentials == null) { throw new RequestAuthenticationException(LocalizationMessages.AUTHENTICATION_CREDENTIALS_MISSING_BASIC()); } request.getHeaders().add(HttpHeaders.AUTHORIZATION, calculateAuthentication(credentials)); }
basicAuth.filterRequest(request); operation = Type.BASIC; } else if (mode == HttpAuthenticationFeature.Mode.BASIC_NON_PREEMPTIVE) { request.setProperty(REQUEST_PROPERTY_OPERATION, lastSuccessfulMethod); if (lastSuccessfulMethod == Type.BASIC) { basicAuth.filterRequest(request); operation = Type.BASIC; } else if (lastSuccessfulMethod == Type.DIGEST) {
case BASIC_PREEMPTIVE: case BASIC_NON_PREEMPTIVE: this.basicAuth = new BasicAuthenticator(basicCredentials); this.digestAuth = null; break; break; case UNIVERSAL: this.basicAuth = new BasicAuthenticator(basicCredentials); this.digestAuth = new DigestAuthenticator(digestCredentials, limit); break;
basicAuth.filterResponseAndAuthenticate(request, response); success = basicAuth.filterResponseAndAuthenticate(request, response); } else if (result == Type.DIGEST) { success = digestAuth.filterResponse(request, response);
/** * Checks the response and if basic authentication is required then performs a new request * with basic authentication. * * @param request Request context. * @param response Response context (will be updated with newest response data if the request was repeated). * @return {@code true} if response does not require authentication or if authentication is required, * new request was done with digest authentication information and authentication was successful. * @throws ResponseAuthenticationException in case that basic credentials missing or are in invalid format */ public boolean filterResponseAndAuthenticate(ClientRequestContext request, ClientResponseContext response) { final String authenticate = response.getHeaders().getFirst(HttpHeaders.WWW_AUTHENTICATE); if (authenticate != null && authenticate.trim().toUpperCase().startsWith("BASIC")) { HttpAuthenticationFilter.Credentials credentials = HttpAuthenticationFilter .getCredentials(request, defaultCredentials, HttpAuthenticationFilter.Type.BASIC); if (credentials == null) { throw new ResponseAuthenticationException(null, LocalizationMessages.AUTHENTICATION_CREDENTIALS_MISSING_BASIC()); } return HttpAuthenticationFilter.repeatRequest(request, response, calculateAuthentication(credentials)); } return false; } }
basicAuth.filterRequest(request); operation = Type.BASIC; } else if (mode == HttpAuthenticationFeature.Mode.BASIC_NON_PREEMPTIVE) { request.setProperty(REQUEST_PROPERTY_OPERATION, lastSuccessfulMethod); if (lastSuccessfulMethod == Type.BASIC) { basicAuth.filterRequest(request); operation = Type.BASIC; } else if (lastSuccessfulMethod == Type.DIGEST) {
case BASIC_PREEMPTIVE: case BASIC_NON_PREEMPTIVE: this.basicAuth = new BasicAuthenticator(basicCredentials); this.digestAuth = null; break; break; case UNIVERSAL: this.basicAuth = new BasicAuthenticator(basicCredentials); this.digestAuth = new DigestAuthenticator(digestCredentials, limit); break;
basicAuth.filterResponseAndAuthenticate(request, response); success = basicAuth.filterResponseAndAuthenticate(request, response); } else if (result == Type.DIGEST) { success = digestAuth.filterResponse(request, response);
/** * Checks the response and if basic authentication is required then performs a new request * with basic authentication. * * @param request Request context. * @param response Response context (will be updated with newest response data if the request was repeated). * @return {@code true} if response does not require authentication or if authentication is required, * new request was done with digest authentication information and authentication was successful. * @throws ResponseAuthenticationException in case that basic credentials missing or are in invalid format */ public boolean filterResponseAndAuthenticate(ClientRequestContext request, ClientResponseContext response) { final String authenticate = response.getHeaders().getFirst(HttpHeaders.WWW_AUTHENTICATE); if (authenticate != null && authenticate.trim().toUpperCase().startsWith("BASIC")) { HttpAuthenticationFilter.Credentials credentials = HttpAuthenticationFilter .getCredentials(request, defaultCredentials, HttpAuthenticationFilter.Type.BASIC); if (credentials == null) { throw new ResponseAuthenticationException(null, LocalizationMessages.AUTHENTICATION_CREDENTIALS_MISSING_BASIC()); } return HttpAuthenticationFilter.repeatRequest(request, response, calculateAuthentication(credentials)); } return false; } }
basicAuth.filterRequest(request); operation = Type.BASIC; } else if (mode == HttpAuthenticationFeature.Mode.BASIC_NON_PREEMPTIVE) { request.setProperty(REQUEST_PROPERTY_OPERATION, lastSuccessfulMethod); if (lastSuccessfulMethod == Type.BASIC) { basicAuth.filterRequest(request); operation = Type.BASIC; } else if (lastSuccessfulMethod == Type.DIGEST) {
case BASIC_PREEMPTIVE: case BASIC_NON_PREEMPTIVE: this.basicAuth = new BasicAuthenticator(basicCredentials); this.digestAuth = null; break; break; case UNIVERSAL: this.basicAuth = new BasicAuthenticator(basicCredentials); this.digestAuth = new DigestAuthenticator(digestCredentials, limit); break;
basicAuth.filterResponseAndAuthenticate(request, response); success = basicAuth.filterResponseAndAuthenticate(request, response); } else if (result == Type.DIGEST) { success = digestAuth.filterResponse(request, response);
/** * Adds authentication information to the request. * * @param request Request context. * @throws RequestAuthenticationException in case that basic credentials missing or are in invalid format */ public void filterRequest(ClientRequestContext request) throws RequestAuthenticationException { HttpAuthenticationFilter.Credentials credentials = HttpAuthenticationFilter.getCredentials(request, defaultCredentials, HttpAuthenticationFilter.Type.BASIC); if (credentials == null) { throw new RequestAuthenticationException(LocalizationMessages.AUTHENTICATION_CREDENTIALS_MISSING_BASIC()); } request.getHeaders().add(HttpHeaders.AUTHORIZATION, calculateAuthentication(credentials)); }
basicAuth.filterRequest(request); operation = Type.BASIC; } else if (mode == HttpAuthenticationFeature.Mode.BASIC_NON_PREEMPTIVE) { request.setProperty(REQUEST_PROPERTY_OPERATION, lastSuccessfulMethod); if (lastSuccessfulMethod == Type.BASIC) { basicAuth.filterRequest(request); operation = Type.BASIC; } else if (lastSuccessfulMethod == Type.DIGEST) {
case BASIC_PREEMPTIVE: case BASIC_NON_PREEMPTIVE: this.basicAuth = new BasicAuthenticator(basicCredentials); this.digestAuth = null; break; break; case UNIVERSAL: this.basicAuth = new BasicAuthenticator(basicCredentials); this.digestAuth = new DigestAuthenticator(digestCredentials, limit); break;