@@ -384,10 +384,17 @@ def load_module(filename, module_dir):
384384
385385
386386def new_hmac(secret_key, url):
387+ try:
388+ secret_key_bytes = bytes(secret_key, 'utf-8')
389+ except TypeError as err:
390+ if isinstance(secret_key, bytes):
391+ secret_key_bytes = secret_key
392+ else:
393+ raise err
387394 if sys.version_info[0] == 2:
388395 return hmac.new(bytes(secret_key), url, hashlib.sha256).hexdigest()
389396 else:
390− return hmac.new(bytes(secret_key, 'utf-8'), url, hashlib.sha256).hexdigest()
397+ return hmac.new(secret_key_bytes, url, hashlib.sha256).hexdigest()
391398
392399
393400def to_string(obj):