| |
@@ -119,6 +119,27 @@
|
| |
# https://stackoverflow.com/questions/63542818/mypy-and-inheriting-from-a-class-that-is-an-attribute-on-an-instance
|
| |
BaseModel: DefaultMeta = db.Model
|
| |
|
| |
+
|
| |
+ # === Infra tweaks ===
|
| |
+
|
| |
+ 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()]
|
| |
+
|
| |
+
|
| |
+ if openshift:
|
| |
+ app.wsgi_app = PrefixMiddleware(app.wsgi_app, prefix='/blockerbugs') # type: ignore[assignment]
|
| |
+
|
| |
# "Hotfix" for proxy handling on current deployment, my guess is that the proxy
|
| |
# server is set differently than it was, but what do I know...
|
| |
if app.config["BEHIND_PROXY"]:
|
| |
Running blockerbugs on OpenShift on non-root of the domain causes weird stuff to happen. This adds /blockerbugs/ as a suffix for Flask.