anchor.diff:  		required string bucketName = variables.defaultBucketName,
   		required string filepath,
   		string uri             = "",
  -		string contentType     = ( variables.autoContentType ? "auto" : "binary/octet-stream" ),
  +		string contentType     = "",
   		string contentEncoding = "",
   		numeric HTTPTimeout    = variables.defaultTimeout,
   		string cacheControl    = variables.defaultCacheControl,
  
positive.code: 	struct function downloadObject(
  		required string bucketName = variables.defaultBucketName,
  		required string uri,
  		required string filepath,
  		required string charset = "utf-8",
  		numeric HTTPTimeout     = variables.defaultTimeOut
  	) {
  		requireBucketName( arguments.bucketName );
  
  		// if filepath is a directory, append filename
  		if ( right( arguments.filepath, 1 ) IS "/" || right( arguments.filepath, 1 ) IS "\" ) {
  			arguments.filepath &= listLast( arguments.uri, "/\" );
  		}
  
  		var results = s3Request(
  			method        = "GET",
  			resource      = arguments.bucketName & "/" & arguments.uri,
  			timeout       = arguments.HTTPTimeout,
  			filename      = arguments.filepath,
  			parseResponse = false
  		);
  
negative.code: 		return this;
  	}
  
  	function createSignatureUtil( required string type ) {
  		if ( arguments.type == "V4" ) {
  			return new Sv4Util();
  		} else if ( arguments.type == "V2" ) {
  			return new Sv2Util();
  		}
  	}
  
  	/**
  	 * Set the Amazon Credentials.
  	 *
  