diff --git a/openerp/addons/base/ir/ir_http.py b/openerp/addons/base/ir/ir_http.py index d6c76b14c0d..6f77f9fe86b 100644 --- a/openerp/addons/base/ir/ir_http.py +++ b/openerp/addons/base/ir/ir_http.py @@ -131,8 +131,13 @@ class ir_http(osv.AbstractModel): try: request.set_handler(func, arguments, auth_method) result = request.dispatch() + except werkzeug.exceptions.HTTPException, e: + fn = getattr(self, '_handle_%s' % (e.code,), None) + if fn: + return fn(e) + return self._handle_500(e) except Exception, e: - return self._handle_500(e) + return self._handle_500(e) return result # vim:et: