From 95c08190199e479dde1d3b273137d6f53b62a164 Mon Sep 17 00:00:00 2001 From: Luis Deleon Date: Sun, 13 Feb 2022 18:15:19 -0600 Subject: [PATCH] changed encoding of message and params to utf-8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit changed encoding of meesage and params to utf-8 to prevent errors when trying to block an special character tílde username. username = "TíldéUsér" call("POST", f"/api/feedback/{username}/", {'feedback': 'block_without_feedback'}) --- lbcapi/api.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lbcapi/api.py b/lbcapi/api.py index c967e91..8da69a9 100644 --- a/lbcapi/api.py +++ b/lbcapi/api.py @@ -99,10 +99,10 @@ def call(self, method, url, params=None, stream=False, files=None): params_encoded = urlparse(api_request.url).query # Calculate signature - message = nonce + self.hmac_key + url.encode('ascii') + message = nonce + self.hmac_key + url.encode('UTF-8') if params_encoded: if sys.version_info >= (3, 0) and isinstance(params_encoded, str): - message += params_encoded.encode('ascii') + message += params_encoded.encode('UTF-8') else: message += params_encoded signature = hmac_lib.new(self.hmac_secret, msg=message, digestmod=hashlib.sha256).hexdigest().upper()