comparison mercurial/hgweb/hgwebdir_mod.py @ 36906:6a0e4efbc61e

hgweb: pass modern request type into templater() Only a handful of consumers of wsgirequest remaining in this file... Differential Revision: https://phab.mercurial-scm.org/D2828
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 11 Mar 2018 15:35:03 -0700
parents 93717f082af9
children c1de7efca574
comparison
equal deleted inserted replaced
36905:93717f082af9 36906:6a0e4efbc61e
367 if csp: 367 if csp:
368 res.headers['Content-Security-Policy'] = csp 368 res.headers['Content-Security-Policy'] = csp
369 wsgireq.headers.append(('Content-Security-Policy', csp)) 369 wsgireq.headers.append(('Content-Security-Policy', csp))
370 370
371 virtual = req.dispatchpath.strip('/') 371 virtual = req.dispatchpath.strip('/')
372 tmpl = self.templater(wsgireq, nonce) 372 tmpl = self.templater(req, nonce)
373 ctype = tmpl('mimetype', encoding=encoding.encoding) 373 ctype = tmpl('mimetype', encoding=encoding.encoding)
374 ctype = templater.stringify(ctype) 374 ctype = templater.stringify(ctype)
375 375
376 # Global defaults. These can be overridden by any handler. 376 # Global defaults. These can be overridden by any handler.
377 res.status = '200 Script output follows' 377 res.status = '200 Script output follows'
483 descending=descending, 483 descending=descending,
484 **dict(sort))) 484 **dict(sort)))
485 485
486 return res.sendresponse() 486 return res.sendresponse()
487 487
488 def templater(self, wsgireq, nonce): 488 def templater(self, req, nonce):
489 489
490 def motd(**map): 490 def motd(**map):
491 if self.motd is not None: 491 if self.motd is not None:
492 yield self.motd 492 yield self.motd
493 else: 493 else:
495 495
496 def config(section, name, default=uimod._unset, untrusted=True): 496 def config(section, name, default=uimod._unset, untrusted=True):
497 return self.ui.config(section, name, default, untrusted) 497 return self.ui.config(section, name, default, untrusted)
498 498
499 vars = {} 499 vars = {}
500 styles, (style, mapfile) = hgweb_mod.getstyle(wsgireq.req, config, 500 styles, (style, mapfile) = hgweb_mod.getstyle(req, config,
501 self.templatepath) 501 self.templatepath)
502 if style == styles[0]: 502 if style == styles[0]:
503 vars['style'] = style 503 vars['style'] = style
504 504
505 sessionvars = webutil.sessionvars(vars, r'?') 505 sessionvars = webutil.sessionvars(vars, r'?')
506 logourl = config('web', 'logourl') 506 logourl = config('web', 'logourl')
507 logoimg = config('web', 'logoimg') 507 logoimg = config('web', 'logoimg')
508 staticurl = (config('web', 'staticurl') 508 staticurl = (config('web', 'staticurl')
509 or wsgireq.req.apppath + '/static/') 509 or req.apppath + '/static/')
510 if not staticurl.endswith('/'): 510 if not staticurl.endswith('/'):
511 staticurl += '/' 511 staticurl += '/'
512 512
513 defaults = { 513 defaults = {
514 "encoding": encoding.encoding, 514 "encoding": encoding.encoding,
515 "motd": motd, 515 "motd": motd,
516 "url": wsgireq.req.apppath + '/', 516 "url": req.apppath + '/',
517 "logourl": logourl, 517 "logourl": logourl,
518 "logoimg": logoimg, 518 "logoimg": logoimg,
519 "staticurl": staticurl, 519 "staticurl": staticurl,
520 "sessionvars": sessionvars, 520 "sessionvars": sessionvars,
521 "style": style, 521 "style": style,