protected MultivaluedMap<String, String> searchForHeaders( ClientResponse response ) { return response.getHeaders(); }
private MultivaluedMap<String,String> extractHeaders( ClientResponse jettyResponse ) { return jettyResponse.getHeaders(); }
private static Map<String, String> headersOf(ClientResponse response) { MultivaluedMap<String, String> jerseyHeaders = response.getHeaders(); if (jerseyHeaders == null || jerseyHeaders.isEmpty()) { return Collections.emptyMap(); } Map<String, String> headers = new HashMap<>(); for (Entry<String, List<String>> entry : jerseyHeaders.entrySet()) { if (!entry.getValue().isEmpty()) { headers.put(entry.getKey(), entry.getValue().get(0)); } } return headers; } }
public String header( String name ) { return response.getHeaders().getFirst( name ); }
private MultivaluedMap<String,Object> extractMetaData( ClientResponse jettyResponse ) { MultivaluedMap<String,Object> metadata = new StringKeyObjectValueIgnoreCaseMultivaluedMap(); for ( Map.Entry<String,List<String>> header : jettyResponse.getHeaders().entrySet() ) { for ( Object value : header.getValue() ) { metadata.putSingle( header.getKey(), value ); } } return metadata; }
/** * Converts ClientResponse object to string with detailed debug information including status code, media type, * response headers, and response body if exists. */ private String clientResponseToString(ClientResponse response) { if (response == null) { return null; } StringBuilder builder = new StringBuilder(); builder.append("[status: ").append(response.getStatus()); builder.append(", media type: ").append(response.getType()); if (response.getStatus() != 404) { try { String responseBody = response.getEntity(String.class); if (responseBody != null) { builder.append(", response body: ").append(responseBody); } } catch (RuntimeException ignore) { // Ignore if there is no response body, or IO error - it may have already been read in certain scenario. } } builder.append(", response headers: ").append(response.getHeaders()); builder.append("]"); return builder.toString(); }
@Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append( "HTTP " ).append( response.getStatus() ).append( "\n" ); for ( Map.Entry<String, List<String>> header : response.getHeaders().entrySet() ) { for ( String headerEntry : header.getValue() ) { sb.append( header.getKey() + ": " ).append( headerEntry ).append( "\n" ); } } sb.append( "\n" ); sb.append( entity ).append( "\n" ); return sb.toString(); } }
/** * Check some general validations that all REST responses should always pass. */ public static ClientResponse sanityCheck( ClientResponse response ) { List<String> contentEncodings = response.getHeaders().get( "Content-Encoding" ); String contentEncoding; if ( contentEncodings != null && (contentEncoding = Iterables.singleOrNull( contentEncodings )) != null ) { // Specifically, this is never used for character encoding. contentEncoding = contentEncoding.toLowerCase(); assertThat( contentEncoding, anyOf( containsString( "gzip" ), containsString( "deflate" ) ) ); assertThat( contentEncoding, allOf( not( containsString( "utf-8" ) ) ) ); } return response; }
@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; }
private static Map<String,List<String>> runRequestAndGetHeaders( URI baseUri ) throws Exception { URI uri = baseUri.resolve( "db/data/transaction/commit" ); ClientRequest request = createClientRequest( uri ); ClientResponse response = createClient().handle( request ); assertEquals( 200, response.getStatus() ); return response.getHeaders(); }
doReturn( headers ).when( response ).getHeaders(); doReturn( "true" ).when( response ).getEntity( String.class );
response.headers = cr.getHeaders(); return response; response.body = extractBody(cr); response.headers = cr.getHeaders(); response.statusCode = cr.getStatus(); response.reasonPhrase = cr.getStatusInfo().getReasonPhrase();
assertTrue( "wrong headers: " + response.getHeaders(), headerField.other().test( response.getHeaders() .getFirst( headerField.first() ) ) ); data.setStatus( responseCode ); assertEquals( "Wrong response status. response: " + data.entity, responseCode, response.getStatus() ); getResponseHeaders( data, response.getHeaders(), headerNames(headerFields) ); return new ResponseEntity( response, data.entity );
throw new InvalidCredentialsException("Please specify a valid API Key."); } else if (431 == response.getStatus()) { throw new InvalidParameterException(response.getHeaders().getFirst("X-Description")); } else if (432 == response.getStatus()) { throw new InvalidParameterException(command + " does not exist on the ElastiCenter server. Please specify a valid command or contact your ElastiCenter Administrator.");
responseHeaders = response.getHeaders(); response.getStatusInfo().getStatusCode(), message, response.getHeaders(), respBody);
/** * Get the language. * * @return the language, otherwise <code>null</code> if not present. */ public String getLanguage() { return getHeaders().getFirst("Content-Language"); }
/** * Get the location. * * @return the location, otherwise <code>null</code> if not present. */ public URI getLocation() { String l = getHeaders().getFirst("Location"); return (l != null) ? URI.create(l) : null; }
/** * Get the entity tag. * * @return the entity tag, otherwise <code>null</code> if not present. */ public EntityTag getEntityTag() { String t = getHeaders().getFirst("ETag"); return (t != null) ? entityTagDelegate.fromString(t) : null; }
@Test public void testDefaultBehavior() throws Exception { createInjector(); WebResource r = resource(); ClientResponse response = r.path("ws").path("v1").path("cluster") .path("info").accept("application/xml") .get(ClientResponse.class); assertEquals("Should have received DENY x-frame options header", "DENY", response.getHeaders().get(XFrameOptionsFilter.X_FRAME_OPTIONS).get(0)); }
@Test public void testExplicitlyDisabled() throws Exception { createInjector(null, true); WebResource r = resource(); ClientResponse response = r.path("ws").path("v1").path("cluster") .path("info").accept("application/xml") .get(ClientResponse.class); assertFalse("Should have not received x-frame options header", response.getHeaders().get(XFrameOptionsFilter.X_FRAME_OPTIONS) == null); }