'Return the canonical StringToSign as well as a dict
containing the original version of all headers that
were included in the StringToSign.'

def string_to_sign(self, http_request):

    headers_to_sign = self.headers_to_sign(http_request)
    canonical_headers = self.canonical_headers(headers_to_sign)
    string_to_sign = '\n'.join([http_request.method, http_request.auth_path, '', canonical_headers, '', http_request.body])
    return (string_to_sign, headers_to_sign)
