List of usage examples for org.apache.http.client.methods HttpRequestBase getLastHeader
public Header getLastHeader(String str)
From source file:org.hardisonbrewing.s3j.FileSyncer.java
private String signature(String accessKey, long expires, String resource, HttpRequestBase request) throws Exception { StringBuffer stringBuffer = new StringBuffer(); // HTTP-VERB/*from w ww . j av a 2 s . c om*/ stringBuffer.append(request.getMethod()); stringBuffer.append("\n"); // Content-MD5 // if ( !( request instanceof HttpEntityEnclosingRequestBase ) ) { stringBuffer.append("\n"); // } // else { // HttpEntityEnclosingRequestBase entityRequest = (HttpEntityEnclosingRequestBase) request; // HttpEntity entity = entityRequest.getEntity(); // stringBuffer.append( md5( IOUtil.toByteArray( entity.getContent() ) ) ); // stringBuffer.append( "\n" ); // } //Content-Type // if ( !( request instanceof HttpEntityEnclosingRequestBase ) ) { stringBuffer.append("\n"); // } // else { // HttpEntityEnclosingRequestBase entityRequest = (HttpEntityEnclosingRequestBase) request; // HttpEntity entity = entityRequest.getEntity(); // stringBuffer.append( entity.getContentType().getValue() ); // stringBuffer.append( "\n" ); // } // Expires boolean hasAmzDateHeader = request.getLastHeader("x-amz-date") != null; stringBuffer.append(hasAmzDateHeader ? "" : expires); stringBuffer.append("\n"); // CanonicalizedAmzHeaders for (Header header : request.getAllHeaders()) { String name = header.getName(); if (name.startsWith("x-amz")) { stringBuffer.append(name); stringBuffer.append(":"); stringBuffer.append(header.getValue()); stringBuffer.append("\n"); } } stringBuffer.append(resource); // CanonicalizedResource String signature = stringBuffer.toString(); byte[] bytes = signature.getBytes("UTF-8"); bytes = hmacSHA1(accessKey, bytes); signature = Base64.encodeBase64String(bytes); return signature; }