import os
from app import app, init_app, BASE_PATH

init_app()


class PrefixMiddleware:
    def __init__(self, app, prefix):
        self.app = app
        self.prefix = prefix.rstrip("/")

    def __call__(self, environ, start_response):
        if self.prefix:
            environ["SCRIPT_NAME"] = self.prefix
            path = environ.get("PATH_INFO", "")
            if path.startswith(self.prefix):
                environ["PATH_INFO"] = path[len(self.prefix):]
        return self.app(environ, start_response)


if BASE_PATH:
    app.wsgi_app = PrefixMiddleware(app.wsgi_app, BASE_PATH)

if __name__ == "__main__":
    app.run(debug=False, port=5050, host="0.0.0.0")
