/** 构造HttpPut */ protected HttpUriRequest generateHttpRequest() { // 生成Http请求 String resource = httpTool.generateCanonicalizedResource( "/" + objectGroup.getBucketName() + "/" + objectGroup.getName()); String requestUri = OSS_END_POINT + resource; HttpPut httpPut = new HttpPut(requestUri); // 构造HttpPut String authorization = OSSHttpTool.generateAuthorization( accessId, accessKey, httpMethod.toString(), "", objectGroupMetaData.getContentType(), Helper.getGMTDate(), OSSHttpTool.generateCanonicalizedHeader(objectGroupMetaData.getAttrs()), resource); httpPut.setHeader(AUTHORIZATION, authorization); httpPut.setHeader(DATE, Helper.getGMTDate()); httpPut.setHeader(HOST, OSS_HOST); try { httpPut.setEntity(new StringEntity(generateHttpEntity())); } catch (UnsupportedEncodingException e) { // Log.e(this.getClass().getName(), e.getMessage()); } return httpPut; }
/** 参数合法性验证 */ @Override protected void checkArguments() { if (Helper.isEmptyString(bucketName) || Helper.isEmptyString(objectKey)) { throw new IllegalArgumentException("bucketName or objectKey not set"); } if (objectMetaData == null || Helper.isEmptyString(objectMetaData.getContentType())) { throw new IllegalArgumentException("ObjectMetaData not properly set"); } }
/* (non-Javadoc) * @see com.aliyun.android.oss.task.Task#checkArguments() */ @Override protected void checkArguments() { if (Helper.isEmptyString(objectGroup.getBucketName()) || Helper.isEmptyString(objectGroup.getName())) { throw new IllegalArgumentException("bucketName or objectKey not set"); } if (objectGroup.getParts() == null || objectGroup.getParts().isEmpty()) { throw new IllegalArgumentException("partList not set"); } }
/** 构造HttpPut */ protected HttpUriRequest generateHttpRequest() { // 生成Http请求 String resource = httpTool.generateCanonicalizedResource("/" + bucketName + "/" + objectKey); String requestUri = OSS_END_POINT + resource; HttpPut httpPut = new HttpPut(requestUri); // 构造HttpPut String dateStr = Helper.getGMTDate(); String xossHeader = OSSHttpTool.generateCanonicalizedHeader(objectMetaData.getAttrs()); String authorization = OSSHttpTool.generateAuthorization( accessId, accessKey, httpMethod.toString(), "", objectMetaData.getContentType(), dateStr, xossHeader, resource); httpPut.setHeader(AUTHORIZATION, authorization); httpPut.setHeader(DATE, dateStr); httpPut.setHeader(HOST, OSS_HOST); OSSHttpTool.addHttpRequestHeader(httpPut, CACHE_CONTROL, objectMetaData.getCacheControl()); OSSHttpTool.addHttpRequestHeader( httpPut, CONTENT_DISPOSITION, objectMetaData.getContentDisposition()); OSSHttpTool.addHttpRequestHeader( httpPut, CONTENT_ENCODING, objectMetaData.getContentEncoding()); OSSHttpTool.addHttpRequestHeader(httpPut, CONTENT_TYPE, objectMetaData.getContentType()); OSSHttpTool.addHttpRequestHeader( httpPut, EXPIRES, Helper.getGMTDate(objectMetaData.getExpirationTime())); // 加入用户自定义header for (Entry<String, String> entry : objectMetaData.getAttrs().entrySet()) { OSSHttpTool.addHttpRequestHeader(httpPut, entry.getKey(), entry.getValue()); } if (this.data != null && this.data.length > 0) { httpPut.setEntity(new ByteArrayEntity(this.data)); } return httpPut; }
/* * (non-Javadoc) * @see * com.aliyun.android.oss.task.Task#generateHttpRequest() */ @Override protected HttpUriRequest generateHttpRequest() { // 生成Http请求 String resource = httpTool.generateCanonicalizedResource("/" + bucketName); String requestUri = OSS_END_POINT + resource; requestUri = OSSHttpTool.appendParameterPair(requestUri, PREFIX, prefix); requestUri = OSSHttpTool.appendParameterPair(requestUri, MARKER, marker); if (maxKeys != null && maxKeys != DEFAULT_MAX_KEYS) { requestUri = OSSHttpTool.appendParameterPair(requestUri, MAX_KEYS, maxKeys.toString()); } requestUri = OSSHttpTool.appendParameterPair(requestUri, DELIMITER, delimiter); // Log.d("requestUri", requestUri); HttpGet httpGet = new HttpGet(requestUri); // 构造HttpGet String dateStr = Helper.getGMTDate(); String content = "GET\n\n\n" + dateStr + "\n" + resource; String authorization = OSSHttpTool.generateAuthorization(accessId, accessKey, content); httpGet.setHeader("Authorization", authorization); httpGet.setHeader("Date", dateStr); httpGet.setHeader("Host", OSS_HOST); return httpGet; }