/usr/lib/python3/dist-packages/twisted/web
NameSizeModeActions
test/-0755rm
_auth/-0755rm
__pycache__/-0755rm
client.py760620644editdlrm
demo.py5540644editdlrm
distrib.py118770644editdlrm
domhelpers.py86450644editdlrm
error.py127640644editdlrm
guard.py6300644editdlrm
html.py15570644editdlrm
http.py1046340644editdlrm
http_headers.py82310644editdlrm
iweb.py255710644editdlrm
microdom.py361970644editdlrm
proxy.py98350644editdlrm
resource.py131080644editdlrm
rewrite.py18520644editdlrm
script.py57450644editdlrm
server.py275090644editdlrm
static.py380070644editdlrm
sux.py208920644editdlrm
tap.py98460644editdlrm
template.py176310644editdlrm
twcgi.py113430644editdlrm
util.py124520644editdlrm
vhost.py45870644editdlrm
wsgi.py218790644editdlrm
xmlrpc.py202030644editdlrm
_element.py59470644editdlrm
_flatten.py159120644editdlrm
_http2.py491860644editdlrm
_newclient.py639730644editdlrm
_responses.py36550644editdlrm
_stan.py107900644editdlrm
__init__.py6990644editdlrm
Edit: /usr/lib/python3/dist-packages/twisted/web/rewrite.py (1852B)
# Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. # from twisted.web import resource class RewriterResource(resource.Resource): def __init__(self, orig, *rewriteRules): resource.Resource.__init__(self) self.resource = orig self.rewriteRules = list(rewriteRules) def _rewrite(self, request): for rewriteRule in self.rewriteRules: rewriteRule(request) def getChild(self, path, request): request.postpath.insert(0, path) request.prepath.pop() self._rewrite(request) path = request.postpath.pop(0) request.prepath.append(path) return self.resource.getChildWithDefault(path, request) def render(self, request): self._rewrite(request) return self.resource.render(request) def tildeToUsers(request): if request.postpath and request.postpath[0][:1]=='~': request.postpath[:1] = ['users', request.postpath[0][1:]] request.path = '/'+'/'.join(request.prepath+request.postpath) def alias(aliasPath, sourcePath): """ I am not a very good aliaser. But I'm the best I can be. If I'm aliasing to a Resource that generates links, and it uses any parts of request.prepath to do so, the links will not be relative to the aliased path, but rather to the aliased-to path. That I can't alias static.File directory listings that nicely. However, I can still be useful, as many resources will play nice. """ sourcePath = sourcePath.split('/') aliasPath = aliasPath.split('/') def rewriter(request): if request.postpath[:len(aliasPath)] == aliasPath: after = request.postpath[len(aliasPath):] request.postpath = sourcePath + after request.path = '/'+'/'.join(request.prepath+request.postpath) return rewriter