url prefix

master
supisara 2 years ago
parent ed07de9d09
commit 277baf8767

@ -14,7 +14,24 @@ def get_content(file):
content = f.read() content = f.read()
return markdown(content) return markdown(content)
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()]
app = Flask(__name__) app = Flask(__name__)
# register the middleware to prefix all the requests with our base_url
app.wsgi_app = PrefixMiddleware(app.wsgi_app, prefix='/soupboat/diyry')
@app.route("/") @app.route("/")
def home(): def home():
@ -34,4 +51,4 @@ def issue(slug):
def file(slug, file): def file(slug, file):
return send_from_directory(f"issues/{slug}", file) return send_from_directory(f"issues/{slug}", file)
app.run(port=3000, debug=True) app.run(port=3152, debug=True)
Loading…
Cancel
Save