You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
561 B
Python
15 lines
561 B
Python
3 years ago
|
class PrefixMiddleware(object):
|
||
|
def __init__(self, app, prefix=""):
|
||
|
self.app = app
|
||
|
self.prefix = prefix
|
||
|
|
||
|
def __call__(self, environ, start_response):
|
||
|
|
||
|
if environ["PATH_INFO"].startswith(self.prefix):
|
||
|
environ["PATH_INFO"] = environ["PATH_INFO"][len(self.prefix) :]
|
||
|
environ["SCRIPT_NAME"] = self.prefix
|
||
|
return self.app(environ, start_response)
|
||
|
else:
|
||
|
start_response("404", [("Content-Type", "text/plain")])
|
||
|
return ["This url does not belong to the app.".encode()]
|