@Override public ClientResponse handle(ClientRequest request) { // If 'Accept-Encoding' is not set, assume gzip as a default if (!request.getHeaders().containsKey(HttpHeaders.ACCEPT_ENCODING)) { request.getHeaders().add(HttpHeaders.ACCEPT_ENCODING, GZIP_ENCODING); } if (request.getEntity() != null) { Object requestEncoding = request.getHeaders().getFirst(HttpHeaders.CONTENT_ENCODING); if (GZIP_ENCODING.equals(requestEncoding)) { request.setAdapter(new GzipAdapter(request.getAdapter())); } else if (isCompressionEnabled()) { request.getHeaders().add(HttpHeaders.CONTENT_ENCODING, GZIP_ENCODING); request.setAdapter(new GzipAdapter(request.getAdapter())); } } ClientResponse response = getNext().handle(request); String responseEncoding = response.getHeaders().getFirst(HttpHeaders.CONTENT_ENCODING); if (response.hasEntity() && GZIP_ENCODING.equals(responseEncoding)) { response.getHeaders().remove(HttpHeaders.CONTENT_ENCODING); decompressResponse(response); } return response; }
@Override public ClientResponse handle(final ClientRequest cr) throws ClientHandlerException { if (!cr.getHeaders().containsKey(HttpHeaders.AUTHORIZATION)) { cr.getHeaders().add(HttpHeaders.AUTHORIZATION, authentication); } return getNext().handle(cr); } }
String uri = request.getURI().getRawPath(); if (state.get().qop == QOP.AUTH_INT && (request.getEntity() != null)) { HA2 = md5ForJoined( request.getMethod(), uri, request.getEntity().toString()); request.getHeaders().add( HttpHeaders.AUTHORIZATION, authLine); ClientResponse response = getNext().handle(request); if (response.getClientResponseStatus() == Status.UNAUTHORIZED) { response.getHeaders().get( HttpHeaders.WWW_AUTHENTICATE)); response.close();
@Override public ClientResponse handle(ClientRequest cr) throws ClientHandlerException { Map<String, List<String>> stringHeaders = new HashMap<>(); for (String key : cr.getHeaders().keySet()) { List<String> vals = new ArrayList<>(); for (Object val : cr.getHeaders().get(key)) { vals.add((String) val); } stringHeaders.put(key, vals); } Map<String, String> signedHeaders = signer.signRequest(cr.getURI(), cr.getMethod(), stringHeaders, cr.getEntity()); for (String key : signedHeaders.keySet()) { cr.getHeaders().putSingle(key, signedHeaders.get(key)); } return getNext().handle(cr); } }
@Override public ClientResponse handle( ClientRequest request ) throws ClientHandlerException { List<Object> authorizationHeader = request.getHeaders().get( "Authorization" ); String authToken = (String) authorizationHeader.get( 0 ); request.getHeaders().put( "Cookie", cookiesList ); request.getHeaders().remove( "Authorization" ); ClientResponse response = getNext().handle( request ); if ( response.getStatus() == HttpStatus.SC_UNAUTHORIZED ) { logger.warn( "Request to" + request.getURI() + "returned Unauthorized." ); if ( logger.isDebugEnabled() ) { logger.debug( "http status=" + response.getStatus() + " response=" + response.getEntity( String.class ) ); request.getHeaders().remove( "Cookie" ); request.getHeaders().put( "Authorization", authorizationHeader ); logger.warn( "Trying one more time" ); response = getNext().handle( request ); if ( response.getStatus() == HttpStatus.SC_UNAUTHORIZED ) { logger.error( "Request to" + request.getURI() + "returned Unauthorized 2nd time." );
public ClientResponse handle(ClientRequest request) throws ClientHandlerException { ClientResponse response = getNext().handle(request); if (response.getStatus() > 299) { if (response.getStatus() == 403) { Date clientTime = RestUtil.headerParse(RestUtil.getFirstAsString(request.getHeaders(), S3Constants.AMZ_DATE)); if (clientTime == null) clientTime = RestUtil.headerParse(RestUtil.getFirstAsString(request.getHeaders(), RestUtil.HEADER_DATE)); Date serverTime = RestUtil.headerParse(RestUtil.getFirstAsString(response.getHeaders(), RestUtil.HEADER_DATE)); if (clientTime != null && serverTime != null) { long skew = clientTime.getTime() - serverTime.getTime(); Response.StatusType st = response.getStatusInfo(); throw new S3Exception(st.getReasonPhrase(), st.getStatusCode(), guessStatus(st.getStatusCode()), response.getHeaders().getFirst("x-amz-request-id"));
public ClientResponse handle(ClientRequest cr) { // Call the next filter ClientResponse resp = getNext().handle(cr); String respContentType = resp.getHeaders().getFirst("Content-Type"); if (respContentType.startsWith("text/plain")) { String newContentType = "application/json" + respContentType.substring(10); resp.getHeaders().putSingle("Content-Type", newContentType); } return resp; }
for(Map.Entry<String, List<Object>> h : request.headers().entrySet()) { for(Object v : h.getValue()) { headers.add(h.getKey(), v); headers.add("Content-Type", request.entity().getContentType()); } else { headers.add("Content-Type", "application/json"); response = target.getHeadHandler().handle(new ClientRequestImpl(target.getURI(), request.method().name(), request.entity().getEntity(), headers)); } else { response = target.getHeadHandler().handle(new ClientRequestImpl(target.getURI(), request.method().name(), null, headers)); throw new OpenStackResponseException(e.getResponse().getClientResponseStatus().getReasonPhrase(), e.getResponse().getStatus());
@Override public ClientResponse handle(ClientRequest request) throws ClientHandlerException { request.getHeaders().add( HttpHeaders.USER_AGENT, USER_AGENT); return getNext().handle(request); } });
public ClientResponse handle(final ClientRequest request) throws ClientHandlerException { if (!request.getHeaders().containsKey("Authorization")) { switch (state) { case MANAGED: if (clientResponse.getStatus() >= 400) { return clientResponse; Form response = clientResponse.getEntity(Form.class); String token = response.getFirst(OAuthParameters.TOKEN); parameters.token(token); if (clientResponse.getStatus() >= 400) { return clientResponse; UniformInterfaceException uie = null; try { response = getNext().handle(request); } catch (UniformInterfaceException e) { response = e.getResponse(); && response.getStatusInfo().getStatusCode() == ClientResponse.Status.UNAUTHORIZED.getStatusCode()) { request.getHeaders().remove("Authorization"); parameters.token(null); secrets.tokenSecret(null);
private <T> T handle(Class<T> c, ClientRequest ro) throws UniformInterfaceException, ClientHandlerException { setProperties(ro); ClientResponse r = getHeadHandler().handle(ro); if (c == ClientResponse.class) return c.cast(r); if (r.getStatus() < 300) return r.getEntity(c); throw new UniformInterfaceException(r, ro.getPropertyAsFeature(ClientConfig.PROPERTY_BUFFER_RESPONSE_ENTITY_ON_EXCEPTION, true)); }
@Override public ClientResponse handle(ClientRequest clientRequest) throws ClientHandlerException { final MultivaluedMap<String, Object> headers = clientRequest.getHeaders(); List<Object> hcookies = headers.get(COOKIE_HEADER); if (hcookies == null) { hcookies = new ArrayList<>(); } hcookies.addAll(cookies); headers.put(COOKIE_HEADER, hcookies); return getNext().handle(clientRequest); } }
@Override public ClientResponse handle(ClientRequest request) throws ClientHandlerException { String namespace = (String) request.getProperties().get(RestUtil.PROPERTY_NAMESPACE); if (namespace != null) { if (s3Config.isUseVHost()) { request.setURI(insertNamespace(request.getURI(), namespace)); } else { // add to headers (x-emc-namespace: namespace) request.getHeaders().putSingle(RestUtil.EMC_NAMESPACE, namespace); } } return getNext().handle(request); } }
@SuppressWarnings("unchecked") @Override public ClientResponse handle(ClientRequest request) throws ClientHandlerException { Map<String, String> userMeta = (Map<String, String>) request.getProperties().get(RestUtil.PROPERTY_USER_METADATA); Map<String, String> metaBackup = null; Boolean encode = (Boolean) request.getProperties().get(RestUtil.PROPERTY_ENCODE_ENTITY); if (encode != null && encode) { request.getHeaders().putAll(S3ObjectMetadata.getUmdHeaders(userMeta)); response = getNext().handle(request); } catch (RuntimeException e) { if (encode != null && encode) { MultivaluedMap<String, String> headers = response.getHeaders(); Map<String, String> storedMeta = S3ObjectMetadata.getUserMetadata(headers); Set<String> keysToRemove = new HashSet<String>(); response.setEntityInputStream(decodeChain.getDecodeStream(response.getEntityInputStream(), storedMeta)); } else { headers.remove(S3ObjectMetadata.getHeaderName(key));
@Override public ClientResponse handle(ClientRequest request) throws ClientHandlerException { // tack on user-agent here if (s3Config.getUserAgent() != null) request.getHeaders().putSingle(RestUtil.HEADER_USER_AGENT, s3Config.getUserAgent()); // if no identity is provided, this is an anonymous client if (s3Config.getIdentity() != null) { Map<String, String> parameters = RestUtil.getQueryParameterMap(request.getURI().getRawQuery()); String resource = VHostUtil.getResourceString(s3Config, (String) request.getProperties().get(RestUtil.PROPERTY_NAMESPACE), (String) request.getProperties().get(S3Constants.PROPERTY_BUCKET_NAME), RestUtil.getEncodedPath(request.getURI())); signer.sign(request.getMethod(), resource, parameters, request.getHeaders()); } return getNext().handle(request); } }
@Override public ClientResponse handle(ClientRequest cr) throws ClientHandlerException { if (authInfo != null) { cr.getHeaders().putSingle(AbstractEurekaIdentity.AUTH_NAME_HEADER_KEY, authInfo.getName()); cr.getHeaders().putSingle(AbstractEurekaIdentity.AUTH_VERSION_HEADER_KEY, authInfo.getVersion()); if (authInfo.getId() != null) { cr.getHeaders().putSingle(AbstractEurekaIdentity.AUTH_ID_HEADER_KEY, authInfo.getId()); } } return getNext().handle(cr); } }
@Override public ClientResponse handle(ClientRequest request) throws ClientHandlerException { Boolean bypass = (Boolean) request.getProperties().get(BYPASS_LOAD_BALANCER); if (bypass != null && bypass) { return getNext().handle(request); Host host = smartConfig.getLoadBalancer().getTopHost(request.getProperties()); URI uri = request.getURI(); try { org.apache.http.HttpHost httpHost = new org.apache.http.HttpHost(host.getName(), uri.getPort(), uri.getScheme()); ClientResponse response = getNext().handle(request); if (response.getStatus() >= 500 && response.getStatus() != 501) { response.setEntityInputStream(new WrappedInputStream(response.getEntityInputStream(), host));
@Override public ClientResponse handle(ClientRequest cr) throws ClientHandlerException { URIBuilder uriBuilder = new URIBuilder(cr.getURI()); String path = uriBuilder.getPath(); uriBuilder.setPath(converter.convertCommandPath(path)); try { cr.setURI(uriBuilder.build()); ClientResponse response = getNext().handle(cr); String newEntity = converter.convertResponse(path, response.getEntity(String.class)); response.setEntityInputStream(new ByteArrayInputStream(newEntity.getBytes())); return response; } catch (Exception ex) { throw new ClientHandlerException(ex); } }
private void voidHandle(ClientRequest ro) throws UniformInterfaceException, ClientHandlerException { setProperties(ro); ClientResponse r = getHeadHandler().handle(ro); if (r.getStatus() >= 300) throw new UniformInterfaceException(r, ro.getPropertyAsFeature(ClientConfig.PROPERTY_BUFFER_RESPONSE_ENTITY_ON_EXCEPTION, true)); r.close(); } }