web/application.py
changeset 9728 f79ce7b39ee9
parent 9727 33f6ad4c75a5
child 9897 fa44db7da2dc
equal deleted inserted replaced
9727:33f6ad4c75a5 9728:f79ce7b39ee9
    21 
    21 
    22 import sys
    22 import sys
    23 from time import clock, time
    23 from time import clock, time
    24 from contextlib import contextmanager
    24 from contextlib import contextmanager
    25 from warnings import warn
    25 from warnings import warn
       
    26 import json
    26 
    27 
    27 import httplib
    28 import httplib
    28 
    29 
    29 from logilab.common.deprecation import deprecated
    30 from logilab.common.deprecation import deprecated
    30 
    31 
   582         if isinstance(ex, PublishException) and ex.status is not None:
   583         if isinstance(ex, PublishException) and ex.status is not None:
   583             status = ex.status
   584             status = ex.status
   584         if req.status_out < 400:
   585         if req.status_out < 400:
   585             # don't overwrite it if it's already set
   586             # don't overwrite it if it's already set
   586             req.status_out = status
   587             req.status_out = status
   587         json_dumper = getattr(ex, 'dumps', lambda : unicode(ex))
   588         json_dumper = getattr(ex, 'dumps', lambda : json.dumps({'reason': unicode(ex)}))
   588         return json_dumper()
   589         return json_dumper()
   589 
   590 
   590     # special case handling
   591     # special case handling
   591 
   592 
   592     def need_login_content(self, req):
   593     def need_login_content(self, req):