mercurial/hgweb/hgweb_mod.py
changeset 36880 67fb0dca29bc
parent 36879 9675147aec06
child 36881 96a93625a824
equal deleted inserted replaced
36879:9675147aec06 36880:67fb0dca29bc
    12 import os
    12 import os
    13 
    13 
    14 from .common import (
    14 from .common import (
    15     ErrorResponse,
    15     ErrorResponse,
    16     HTTP_BAD_REQUEST,
    16     HTTP_BAD_REQUEST,
    17     HTTP_OK,
       
    18     cspvalues,
    17     cspvalues,
    19     permhooks,
    18     permhooks,
    20     statusmessage,
    19     statusmessage,
    21 )
    20 )
    22 
    21 
   403             else:
   402             else:
   404                 # Set some globals appropriate for web handlers. Commands can
   403                 # Set some globals appropriate for web handlers. Commands can
   405                 # override easily enough.
   404                 # override easily enough.
   406                 res.status = '200 Script output follows'
   405                 res.status = '200 Script output follows'
   407                 res.headers['Content-Type'] = ctype
   406                 res.headers['Content-Type'] = ctype
   408                 content = getattr(webcommands, cmd)(rctx, wsgireq, tmpl)
   407                 return getattr(webcommands, cmd)(rctx, wsgireq, tmpl)
   409 
       
   410                 if content is res:
       
   411                     return res.sendresponse()
       
   412                 elif content is True:
       
   413                     return []
       
   414                 else:
       
   415                     wsgireq.respond(HTTP_OK, ctype)
       
   416                     return content
       
   417 
   408 
   418         except (error.LookupError, error.RepoLookupError) as err:
   409         except (error.LookupError, error.RepoLookupError) as err:
   419             msg = pycompat.bytestr(err)
   410             msg = pycompat.bytestr(err)
   420             if (util.safehasattr(err, 'name') and
   411             if (util.safehasattr(err, 'name') and
   421                 not isinstance(err,  error.ManifestLookupError)):
   412                 not isinstance(err,  error.ManifestLookupError)):