code: public Map<String, String> sign(String httpeMethod, String endpoint, String resourcePath,
  			Map<String, String> headers, Map<String, String> params, InputStream entity,
  			String accessKey, String secretKey) {
  
  		Request<?> req = buildAWSRequest(httpeMethod, endpoint, resourcePath, headers, params, entity);
  		sign(req, accessKey, secretKey);
  		return req.getHeaders();
  	}
docs: Signs a request using AWS signature V4.
  @param httpeMethod GET/POST/PUT... etc.
  @param endpoint the hostname of the API server
  @param resourcePath the path of the resource (starting from root e.g. "/path/to/res")
  @param headers the headers map
  @param params the params map
  @param entity the entity object or null
  @param accessKey the app's access key
  @param secretKey the app's secret key
  @return a signed request. The actual signature is inside the {@code Authorization} header.