/** * @param headerName the header name * @return a list of headers in the response */ public List<String> getHeader(String headerName) { return httpResponse.getHeaders().getHeaderStringValues(headerName); }
/** * @return the first {@code Content-Length} header, or {@code -1} if not found * @throws NumberFormatException if parsing the content length header fails */ public long getContentLength() throws NumberFormatException { String contentLengthHeader = httpResponse.getHeaders().getFirstHeaderStringValue(HttpHeaders.CONTENT_LENGTH); if (contentLengthHeader == null) { return -1; } try { return Long.parseLong(contentLengthHeader); } catch (NumberFormatException ex) { return -1; } }
@InternalApi("Visible for testing") static boolean headerContainsMetadataFlavor(HttpResponse response) { String metadataFlavorValue = response.getHeaders().getFirstHeaderStringValue("Metadata-Flavor"); return "Google".equals(metadataFlavorValue); }
private static void validateResponse(HttpResponse response, int expectedCode) throws IOException { if (response.getStatusCode() != expectedCode) { throw new IOException("Unexpected return code: " + response.getStatusCode() + "\nMessage:\n" + response.getStatusMessage() + "\nHeaders:\n" + response.getHeaders()); } }
private static void validateResponse( HttpRequest request, HttpResponse response, int expectedCode) throws IOException { if (response.getStatusCode() != expectedCode) { throw new IOException("Unexpected return code: " + response.getStatusCode() + "\nMessage:\n" + response.getStatusMessage() + "\nfrom:\n" + request.getUrl() + "\nHeaders:\n" + response.getHeaders()); } }
private String makeCall(HttpTransport transport) throws IOException { HttpRequest get = transport.createRequestFactory() .buildPostRequest(new GenericUrl(INRPUT_LOGIN_SERVER), null) .setFollowRedirects(false) .setThrowExceptionOnExecuteError(false); HttpResponse response = get.execute(); if (response.getStatusCode() != 302) { throw new IOException("Unexpected return code: " + response.getStatusCode() + "\nMessage:\n" + response.getStatusMessage()); } String cookieValue = response.getHeaders().getFirstHeaderStringValue("set-cookie"); if (Strings.isNullOrEmpty(cookieValue)) { throw new IOException("Couldn't extract cookie value from headers: " + response.getHeaders()); } return cookieValue; } }
/** Posts an RDF model to a Solid server. **/ public String postContent( String url, String slug, String type, Model model) throws IOException { StringWriter stringWriter = new StringWriter(); model.write(stringWriter, "TURTLE"); HttpContent content = new ByteArrayContent("text/turtle", stringWriter.toString().getBytes()); HttpRequest postRequest = factory.buildPostRequest( new GenericUrl(url), content); HttpHeaders headers = new HttpHeaders(); headers.setCookie(authCookie); headers.set("Link", "<" + type + ">; rel=\"type\""); headers.set("Slug", slug); postRequest.setHeaders(headers); HttpResponse response = postRequest.execute(); validateResponse(response, 201); return response.getHeaders().getLocation(); }
@Override public String open(Job loadJob) { try { String builder = BASE_RESUMABLE_URI + options.getProjectId() + "/jobs"; GenericUrl url = new GenericUrl(builder); url.set("uploadType", "resumable"); JsonFactory jsonFactory = bigquery.getJsonFactory(); HttpRequestFactory requestFactory = bigquery.getRequestFactory(); HttpRequest httpRequest = requestFactory.buildPostRequest(url, new JsonHttpContent(jsonFactory, loadJob)); httpRequest.getHeaders().set("X-Upload-Content-Value", "application/octet-stream"); HttpResponse response = httpRequest.execute(); return response.getHeaders().getLocation(); } catch (IOException ex) { throw translate(ex); } }
throw translate(error); return response.getHeaders().getLocation(); } catch (IOException ex) { span.setStatus(Status.UNKNOWN.withDescription(ex.getMessage()));
@Override public void interceptResponse( HttpResponse response ) throws IOException { headers = response.getHeaders(); }
/** * @param headerName the header name * @return a list of headers in the response */ public List<String> getHeader(String headerName) { return httpResponse.getHeaders().getHeaderStringValues(headerName); }
/** * @param headerName the header name * @return a list of headers in the response */ public List<String> getHeader(String headerName) { return httpResponse.getHeaders().getHeaderStringValues(headerName); }
/** * @return the first {@code Content-Length} header, or {@code -1} if not found * @throws NumberFormatException if parsing the content length header fails */ public long getContentLength() throws NumberFormatException { String contentLengthHeader = httpResponse.getHeaders().getFirstHeaderStringValue(HttpHeaders.CONTENT_LENGTH); if (contentLengthHeader == null) { return -1; } try { return Long.parseLong(contentLengthHeader); } catch (NumberFormatException ex) { return -1; } }
/** * @return the first {@code Content-Length} header, or {@code -1} if not found * @throws NumberFormatException if parsing the content length header fails */ public long getContentLength() throws NumberFormatException { String contentLengthHeader = httpResponse.getHeaders().getFirstHeaderStringValue(HttpHeaders.CONTENT_LENGTH); if (contentLengthHeader == null) { return -1; } try { return Long.parseLong(contentLengthHeader); } catch (NumberFormatException ex) { return -1; } }
@Override public List<String> getHeader(String name) { HttpHeaders headers = response.getHeaders(); if (headers == null || headers.isEmpty()) { return emptyList(); } return headers.getHeaderStringValues(name); }
@InternalApi("Visible for testing") static boolean headerContainsMetadataFlavor(HttpResponse response) { String metadataFlavorValue = response.getHeaders().getFirstHeaderStringValue("Metadata-Flavor"); return "Google".equals(metadataFlavorValue); }
protected void writeResponseHeaders(HttpServletResponse resp, HttpResponse httpResp) { for (Entry<String, Object> entry : httpResp.getHeaders().entrySet()) { String name = entry.getKey(); String value = entry.getValue() instanceof Collection<?> ? CollectionUtility.firstElement(entry.getValue()).toString() : entry.getValue().toString(); String originalValue = value; for (IHttpHeaderFilter filter : getResponseHeaderFilters()) { value = filter.filter(name, value); } if (value != null) { resp.setHeader(entry.getKey(), value); LOG.trace("Added response header: {}: {}", entry.getKey(), value); } else { LOG.trace("Removed response header: {} (original value: {})", name, originalValue); } } }
private Range requestStatus(HttpRequestFactory requestFactory, GenericUrl uploadUri, File fileToUpload) throws IOException { HttpRequest httpRequest = createHttpRequest(requestFactory, HttpMethods.PUT, uploadUri, new EmptyContent()); httpRequest.getHeaders().setContentRange("*/" + fileToUpload.length()); LOGGER.log(Level.FINE, "Executing status request."); HttpResponse httpResponse = executeHttpRequest(httpRequest); if(!httpResponse.isSuccessStatusCode()) { throw new IOException("Status request was not successful. Status-Code: " + httpResponse.getStatusCode()); } String range = httpResponse.getHeaders().getRange(); return Range.valueOf(range); }
private String requestUploadLocation(java.io.File fileToUpload, String mimeType, HttpRequestFactory requestFactory, com.google.api.services.drive.model.File remoteFile) throws IOException { GenericUrl initializationUrl = new GenericUrl("https://www.googleapis.com/upload/drive/v2/files"); initializationUrl.put("uploadType", "resumable"); HttpRequest httpRequest = createHttpRequest(requestFactory, HttpMethods.POST, initializationUrl, new JsonHttpContent(DriveFactory.getJsonFactory(), remoteFile)); HttpHeaders httpHeaders = new HttpHeaders(); httpHeaders.put("X-Upload-Content-Type", mimeType); httpHeaders.put("X-Upload-Content-Length", fileToUpload.length()); httpRequest.getHeaders().putAll(httpHeaders); LOGGER.log(Level.FINE, "Executing initial upload location request."); HttpResponse httpResponse = executeHttpRequest(httpRequest); if(!httpResponse.isSuccessStatusCode()) { throw new IOException("Request for upload location was not successful. Status-Code: " + httpResponse.getStatusCode()); } String location = httpResponse.getHeaders().getLocation(); LOGGER.log(Level.FINE, "URL for resumable upload: " + location); return location; }
@Override public String open(Job loadJob) { try { String builder = BASE_RESUMABLE_URI + options.getProjectId() + "/jobs"; GenericUrl url = new GenericUrl(builder); url.set("uploadType", "resumable"); JsonFactory jsonFactory = bigquery.getJsonFactory(); HttpRequestFactory requestFactory = bigquery.getRequestFactory(); HttpRequest httpRequest = requestFactory.buildPostRequest(url, new JsonHttpContent(jsonFactory, loadJob)); httpRequest.getHeaders().set("X-Upload-Content-Value", "application/octet-stream"); HttpResponse response = httpRequest.execute(); return response.getHeaders().getLocation(); } catch (IOException ex) { throw translate(ex); } }