From 141e1b2615ee992b111da7d7a2070f25b5de8318 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Wed, 25 Jun 2014 17:41:24 +0200 Subject: [PATCH] [FIX] http.dispatch: call handle_exception() even w/ session missing/expired This gives JSONRequests a chance to return a proper JSON-RPC result when an HTTPException is raised downstream, instead of returning a plain HTML 404 error. --- openerp/http.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/openerp/http.py b/openerp/http.py index d32d00326f7..15565d2f7fa 100644 --- a/openerp/http.py +++ b/openerp/http.py @@ -1118,7 +1118,10 @@ class Root(object): request = self.get_request(httprequest) def _dispatch_nodb(): - func, arguments = self.nodb_routing_map.bind_to_environ(request.httprequest.environ).match() + try: + func, arguments = self.nodb_routing_map.bind_to_environ(request.httprequest.environ).match() + except werkzeug.exceptions.HTTPException, e: + return request._handle_exception(e) request.set_handler(func, arguments, "none") result = request.dispatch() return result