List of usage examples for org.apache.commons.httpclient.methods HeadMethod getResponseBodyAsString
@Override public String getResponseBodyAsString() throws IOException
From source file:com.zimbra.cs.store.triton.TritonIncomingBlob.java
@Override protected long getRemoteSize() throws IOException { outStream.flush();//from w w w .ja v a2 s . co m HttpClient client = ZimbraHttpConnectionManager.getInternalHttpConnMgr().newHttpClient(); HeadMethod head = new HeadMethod(baseUrl + uploadUrl); ZimbraLog.store.info("heading %s", head.getURI()); try { head.addRequestHeader(TritonHeaders.SERVER_TOKEN, serverToken.getToken()); int statusCode = HttpClientUtil.executeMethod(client, head); if (statusCode == HttpStatus.SC_OK) { String contentLength = head.getResponseHeader(TritonHeaders.CONTENT_LENGTH).getValue(); long remoteSize = -1; try { remoteSize = Long.valueOf(contentLength); } catch (NumberFormatException nfe) { throw new IOException("Content length can't be parsed to Long", nfe); } return remoteSize; } else { ZimbraLog.store.error("failed with code %d response: %s", statusCode, head.getResponseBodyAsString()); throw new IOException("unable to head blob " + statusCode + ":" + head.getStatusText(), null); } } finally { head.releaseConnection(); } }
From source file:org.apache.wink.itest.methodannotations.HttpMethodTest.java
/** * Tests that a HEAD request can be sent to resource containing only a GET * method./*from w ww . j a v a 2 s . c o m*/ */ public void testHEADRequest() { try { HeadMethod httpMethod = new HeadMethod(); httpMethod.setURI(new URI(BASE_URI, false)); httpclient = new HttpClient(); try { int result = httpclient.executeMethod(httpMethod); System.out.println("Response status code: " + result); System.out.println("Response body: "); String responseBody = httpMethod.getResponseBodyAsString(); System.out.println(responseBody); assertEquals(200, result); assertEquals(null, responseBody); Header[] headers = httpMethod.getResponseHeaders(); assertNotNull(headers); assertTrue("Response for HEAD request contained no headers", headers.length > 0); } catch (IOException ioe) { ioe.printStackTrace(); fail(ioe.getMessage()); } finally { httpMethod.releaseConnection(); } } catch (URIException e) { e.printStackTrace(); fail(e.getMessage()); } }
From source file:org.apache.wink.itest.methodannotations.HttpMethodTest.java
/** * Tests that a HEAD request can be sent to resource annotated with a custom * HEAD annotation.//from w ww . j a v a 2s .c o m */ public void testCustomHEADRequest() { try { HeadMethod httpMethod = new HeadMethod(); httpMethod.setURI(new URI(ALT_URI, false)); httpclient = new HttpClient(); try { int result = httpclient.executeMethod(httpMethod); System.out.println("Response status code: " + result); System.out.println("Response body: "); String responseBody = httpMethod.getResponseBodyAsString(); System.out.println(responseBody); assertEquals(200, result); assertEquals(null, responseBody); Header header = httpMethod.getResponseHeader("HEAD"); assertNotNull(header); assertEquals("TRUE", header.getValue()); } catch (IOException ioe) { ioe.printStackTrace(); fail(ioe.getMessage()); } finally { httpMethod.releaseConnection(); } } catch (URIException e) { e.printStackTrace(); fail(e.getMessage()); } }
From source file:org.nuxeo.ecm.core.storage.sql.ScalityBinaryManager.java
/** * Verifies if a specific named bucket exists. * * @param objectID/*from w ww . j a v a2 s .co m*/ */ public boolean objectExists(String objectID) { boolean objectExists = false; String url = PROTOCOL_PREFIX + this.bucketName + "." + this.hostBase; log.debug(url); HeadMethod headMethod = new HeadMethod(url); String contentMD5 = ""; String stringToSign = StringGenerator.getStringToSign(HTTPMethod.HEAD, contentMD5, DEFAULT_CONTENT_TYPE, this.bucketName, objectID, new Date()); try { headMethod.addRequestHeader("Authorization", StringGenerator.getAuthorizationString(stringToSign, awsID, awsSecret)); headMethod.addRequestHeader("x-amz-date", StringGenerator.getCurrentDateString()); headMethod.setPath("/" + objectID); HttpClient client = new HttpClient(); int returnCode = client.executeMethod(headMethod); log.debug(headMethod.getResponseBodyAsString()); // only for logging if (returnCode == HttpStatus.SC_OK) { objectExists = true; } else if (returnCode == HttpStatus.SC_NOT_FOUND) { objectExists = false; log.debug("Object " + objectID + " does not exist"); } else { String connectionMsg = "Scality connection problem. Object could not be verified"; log.debug(connectionMsg); throw new RuntimeException(connectionMsg); } headMethod.releaseConnection(); } catch (SignatureException e) { throw new RuntimeException(e); } catch (FileNotFoundException e) { throw new RuntimeException(e); } catch (IOException e) { throw new RuntimeException(e); } return objectExists; }