docs: function computeAuthorization(url, method, data, contentType, date) {
  		date = (date || new Date());
  
  		var uri = URI.parse(url);
  
  		var canonQueryParams = canonicalQueryParameters(uri, data, contentType);
  
  		var canonHeaders = canonicalHeaders(uri, contentType, date, bodyContentDigest);
  
  		var bodyContentDigest = bodyContentSHA256(data, contentType);
  
  		var canonRequestMsg = generateCanonicalRequestMessage({
  			method: method,
  			uri: uri,
  			queryParams : canonQueryParams,
  			headers : canonHeaders,
  			bodyDigest: bodyContentDigest
  		});
  
  		var signingMsg = generateSigningMessage(date, canonRequestMsg);
  
  		var signKey = signingKey(date);
  
  		var authHeader = generateAuthorizationHeaderValue(canonHeaders.headerNames, signKey, signingMsg);
  		return {
  			header: authHeader,
  			date: date,
  			dateHeader: canonHeaders.headers['x-sn-date'],
  			verb: method,
  			canonicalUri: uri.path,
  			canonicalQueryParameters: canonQueryParams,
  			canonicalHeaders: canonHeaders,
  			bodyContentDigest: bodyContentDigest,
  			canonicalRequestMessage: canonRequestMsg,
  			signingMessage: signingMsg,
  			signingKey: signKey
  		};
  	}