From 5361fc89c9c3824207154e4038dad4fdc7b6a5e0 Mon Sep 17 00:00:00 2001 From: Patricio Rangles Date: Tue, 31 Aug 2021 21:03:43 -0500 Subject: [PATCH 1/2] [FIX][Odoo]: Problema con CORS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Problemas con CORS, según se documenta aquí: https://www.moldeointeractive.com.ar/blog/moldeo-interactive-1/post/odoo-y-los-cors-709 --- odoo/service/wsgi_server.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/odoo/service/wsgi_server.py b/odoo/service/wsgi_server.py index 5161c8af36b76c..1552b4498831a9 100644 --- a/odoo/service/wsgi_server.py +++ b/odoo/service/wsgi_server.py @@ -17,7 +17,6 @@ import platform import socket import sys -import threading import traceback import werkzeug.serving @@ -60,7 +59,15 @@ def xmlrpc_return(start_response, service, method, params, string_faultcode=Fals response = xmlrpc_handle_exception_string(e) else: response = xmlrpc_handle_exception_int(e) - start_response("200 OK", [('Content-Type','text/xml'), ('Content-Length', str(len(response)))]) + # 2021-08-31: MODIFICADO POR TRESCLOUD, PROBLEMAS CON CORS + #start_response("200 OK", [('Content-Type','text/xml'), ('Content-Length', str(len(response)))]) + start_response("200 OK", [ + ('Content-Type','text/xml'), ('Content-Length', str(len(response))), + ('Access-Control-Allow-Origin','*'), + ('Access-Control-Allow-Methods','POST, GET, OPTIONS'), + ('Access-Control-Max-Age',1000), + ('Access-Control-Allow-Headers','origin, x-csrftoken, content-type, accept'), ]) + # FIN MODIFICACION return [response] def xmlrpc_handle_exception_int(e): @@ -137,6 +144,15 @@ def wsgi_xmlrpc(environ, start_response): /xmlrpc/2/ is a new route that returns faultCode as int and is therefore fully compliant. """ + # 2021-08-31: MODIFICADO POR TRESCLOUD, PROBLEMAS CON CORS + if environ['REQUEST_METHOD'] == "OPTIONS": + response = werkzeug.wrappers.Response('OPTIONS METHOD DETECTED') + response.headers['Access-Control-Allow-Origin'] = '*' + response.headers['Access-Control-Allow-Methods'] = 'POST, GET, OPTIONS' + response.headers['Access-Control-Max-Age'] = 1000 + response.headers['Access-Control-Allow-Headers'] = 'origin, x-csrftoken, content-type, accept' + return response(environ, start_response) + # FIN MODIFICACION if environ['REQUEST_METHOD'] == 'POST' and environ['PATH_INFO'].startswith('/xmlrpc/'): length = int(environ['CONTENT_LENGTH']) data = environ['wsgi.input'].read(length) From 9613d316cce9936c4e4873d55726b59c4facd2cd Mon Sep 17 00:00:00 2001 From: Patricio Rangles Date: Tue, 31 Aug 2021 21:17:40 -0500 Subject: [PATCH 2/2] [FIX][Odoo]: import borrado Recuperado Import borrado --- odoo/service/wsgi_server.py | 1 + 1 file changed, 1 insertion(+) diff --git a/odoo/service/wsgi_server.py b/odoo/service/wsgi_server.py index 1552b4498831a9..9e0694327ba19d 100644 --- a/odoo/service/wsgi_server.py +++ b/odoo/service/wsgi_server.py @@ -17,6 +17,7 @@ import platform import socket import sys +import threading import traceback import werkzeug.serving