signRequest(request, bucketName, key);
request.setContent(input);
ObjectMetadata returnedMetadata = null;
try {
S3MetadataResponseHandler responseHandler = new S3MetadataResponseHandler();
ExecutionContext executionContext = new ExecutionContext(requestHandlers);
returnedMetadata = (ObjectMetadata)client.execute(request, responseHandler, errorResponseHandler, executionContext);
} catch (AmazonClientException ace) {
fireProgressEvent(progressListener, ProgressEvent.FAILED_EVENT_CODE);
throw ace;