diff options
Diffstat (limited to 'addons/web/controllers/main.py')
| -rw-r--r-- | addons/web/controllers/main.py | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/addons/web/controllers/main.py b/addons/web/controllers/main.py index 09b5299a555..fc9ae1dec16 100644 --- a/addons/web/controllers/main.py +++ b/addons/web/controllers/main.py @@ -10,6 +10,7 @@ import os import re import simplejson import time +import urllib2 import xmlrpclib import zlib from xml.etree import ElementTree @@ -242,6 +243,21 @@ class WebClient(openerpweb.Controller): "version": web.common.release.version } +class Proxy(openerpweb.Controller): + _cp_path = '/web/proxy' + + @openerpweb.jsonrequest + def load(self, req, path): + #req.config.socket_port + #if not re.match('^/[^/]+/static/.*', path): + # return werkzeug.exceptions.BadRequest() + + env = req.httprequest.environ + port = env['SERVER_PORT'] + + o = urllib2.urlopen('http://127.0.0.1:%s%s' % (port, path)) + return o.read() + class Database(openerpweb.Controller): _cp_path = "/web/database" @@ -359,7 +375,6 @@ class Session(openerpweb.Controller): @openerpweb.jsonrequest def get_session_info(self, req): - req.session.assert_valid(force=True) return { "uid": req.session._uid, "context": req.session.get_context() if req.session._uid else False, |
