Remove dependency on 'decorator'
I don't understand what this library does or why we needed it.
This commit replaces it with the good old functools.wraps(),
which fixes this crash that started occuring with
decorator 5.0.5:
ERROR testapp:app.py:1892 Exception on /foo [POST] Traceback (most recent call last): File "/home/dev/.local/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app response = self.full_dispatch_request() File "/home/dev/.local/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request rv = self.handle_user_exception(e) File "/home/dev/.local/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception reraise(exc_type, exc_value, tb) File "/home/dev/.local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise raise value File "/home/dev/.local/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request rv = self.dispatch_request() File "/home/dev/.local/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request return self.view_functions[rule.endpoint](**req.view_args) File "/home/dev/.local/lib/python3.7/site-packages/decorator.py", line 231, in fun args, kw = fix(args, kw, sig) File "/home/dev/.local/lib/python3.7/site-packages/decorator.py", line 203, in fix ba = sig.bind(*args, **kwargs) File "/usr/lib/python3.7/inspect.py", line 3015, in bind return args[0]._bind(args[1:], kwargs) File "/usr/lib/python3.7/inspect.py", line 2930, in _bind raise TypeError(msg) from None TypeError: missing a required argument: 'self'