Add support for werkzeug 2.0
issue10086 review337571002
This commit is contained in:
1 parent
78bc172584
commit
3108414aaa
3 files changed
+9
-8
No files matched your search
@@ -1,3 +1,4 @@
|
||||
* Add support for werkzeug 2.0
|
||||
* Combine search and get_keys in DictSchemaMixin
|
||||
* Make language code unique
|
||||
* Support base64 encoded data in ModelStorage.import_data
|
||||
|
||||
@@ -162,7 +162,7 @@ setup(name=name,
|
||||
'python-dateutil',
|
||||
'polib',
|
||||
'python-sql >= 0.5',
|
||||
'werkzeug < 2',
|
||||
'werkzeug',
|
||||
'wrapt',
|
||||
'passlib >= 1.7.0',
|
||||
],
|
||||
|
||||
@@ -12,7 +12,6 @@ except ImportError:
|
||||
from http import client as HTTPStatus
|
||||
|
||||
from werkzeug.wrappers import Request as _Request, Response
|
||||
from werkzeug.http import wsgi_to_bytes, bytes_to_wsgi
|
||||
from werkzeug.datastructures import Authorization
|
||||
from werkzeug.exceptions import abort, HTTPException
|
||||
|
||||
@@ -113,7 +112,8 @@ class Request(_Request):
|
||||
def parse_authorization_header(value):
|
||||
if not value:
|
||||
return
|
||||
value = wsgi_to_bytes(value)
|
||||
if not isinstance(value, bytes):
|
||||
value = value.encode('latin1')
|
||||
try:
|
||||
auth_type, auth_info = value.split(None, 1)
|
||||
auth_type = auth_type.lower()
|
||||
@@ -127,9 +127,9 @@ def parse_authorization_header(value):
|
||||
except Exception:
|
||||
return
|
||||
return Authorization('session', {
|
||||
'username': bytes_to_wsgi(username),
|
||||
'username': username.decode("latin1"),
|
||||
'userid': userid,
|
||||
'session': bytes_to_wsgi(session),
|
||||
'session': session.decode("latin1"),
|
||||
})
|
||||
|
||||
|
||||
@@ -214,16 +214,16 @@ def user_application(name, json=True):
|
||||
pool = Pool()
|
||||
UserApplication = pool.get('res.user.application')
|
||||
|
||||
authorization = wsgi_to_bytes(request.headers['Authorization'])
|
||||
authorization = request.headers['Authorization']
|
||||
try:
|
||||
auth_type, auth_info = authorization.split(None, 1)
|
||||
auth_type = auth_type.lower()
|
||||
except ValueError:
|
||||
abort(HTTPStatus.UNAUTHORIZED)
|
||||
if auth_type != b'bearer':
|
||||
if auth_type != 'bearer':
|
||||
abort(HTTPStatus.FORBIDDEN)
|
||||
|
||||
application = UserApplication.check(bytes_to_wsgi(auth_info), name)
|
||||
application = UserApplication.check(auth_info, name)
|
||||
if not application:
|
||||
abort(HTTPStatus.FORBIDDEN)
|
||||
transaction = Transaction()
|
||||
|
||||
Reference in new issue
Block a user