Skip to content

WebHook: Python3 - TypeError: Unicode-objects must be encoded before hashing #24

@naseem1amjad

Description

@naseem1amjad

Hi,
I am using Python WebHook_Inspector.py example from devrel-examples-master. (i.e. devrel-examples/python/webhooks at master · Asana/devrel-examples · GitHub) I have upgraded the python code to make it work with Python 3.9.1 (like adding parenthesis after print etc.) Now when I run the webhook_inspector.py using ngrok it shows following error ( TypeError: Unicode-objects must be encoded before hashing ) Here is the stack
127.0.0.1 - - [18/Jan/2021 19:59:15] “e[35me[1mPOST /receive-webhook?project=number-removed HTTP/1.1e[0m” 500 -
Traceback (most recent call last):
File “G:\Work\webhooksWin\myenv\Lib\site-packages\flask\app.py”, line 2464, in call
return self.wsgi_app(environ, start_response)
File “G:\Work\webhooksWin\myenv\Lib\site-packages\flask\app.py”, line 2450, in wsgi_app
response = self.handle_exception(e)
File “G:\Work\webhooksWin\myenv\Lib\site-packages\flask\app.py”, line 1867, in handle_exception
reraise(exc_type, exc_value, tb)
File “G:\Work\webhooksWin\myenv\Lib\site-packages\flask_compat.py”, line 39, in reraise
raise value
File “G:\Work\webhooksWin\myenv\Lib\site-packages\flask\app.py”, line 2447, in wsgi_app
response = self.full_dispatch_request()
File “G:\Work\webhooksWin\myenv\Lib\site-packages\flask\app.py”, line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File “G:\Work\webhooksWin\myenv\Lib\site-packages\flask\app.py”, line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File “G:\Work\webhooksWin\myenv\Lib\site-packages\flask_compat.py”, line 39, in reraise
raise value
File “G:\Work\webhooksWin\myenv\Lib\site-packages\flask\app.py”, line 1950, in full_dispatch_request
rv = self.dispatch_request()
File “G:\Work\webhooksWin\myenv\Lib\site-packages\flask\app.py”, line 1936, in dispatch_request
return self.view_functionsrule.endpoint
File “G:\Work\webhooksWin\webhook_inspector.py”, line 153, in receive_webhook
signature = hmac.new(hook_secret. encode(‘ascii’, ‘ignore’),
File “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.496.0_x64__qbz5n2kfra8p0\Lib\hmac.py”, line 170, in new
return HMAC(key, msg, digestmod)
File “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.496.0_x64__qbz5n2kfra8p0\Lib\hmac.py”, line 93, in init
self.update(msg)
File “C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.9_3.9.496.0_x64__qbz5n2kfra8p0\Lib\hmac.py”, line 113, in update
self._inner.update(msg)
TypeError: Unicode-objects must be encoded before hashing

And I think it results in ngrok throwing following error
POST /receive-webhook 500 INTERNAL SERVER ERROR

Please suggest what should be done to resolve this issue. Please note that I have tried this on windows 10 and WSL

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions