def signature
      core_signature = [self.http_method, self.encoded_base_uri]
      core_signature << self.encoded_query_params if self.query_params?
      core_signature.join(self.separator)
    end
def signature
      core_signature = [self.http_method, self.encoded_base_uri]
      core_signature << self.encoded_query_params if self.query_params?
      core_signature.join(self.separator)
    end
Create a new RequestSignature instance

 @param http_method [String] The HTTP method from the request (GET, POST, PUT, or DELETE)
 @param base_uri [String] The base URI of the request. This is everything except the query string params
 @param query_params [Hash] A hash of the provided query string params

 It's required that you provide at least the http_method and base_uri. Params are optional

 @return [void]
 Returns the full signature string

 @return [String]