Use werkzeug middleware for prefix to fix the path of static files

Closes #601
This commit is contained in:
Sandro Jäckel 2025-07-27 04:33:06 +02:00
parent 7715d5f717
commit 3f9a991b52
No known key found for this signature in database
GPG Key ID: 3AF5A43A3EECC2E5
2 changed files with 9 additions and 11 deletions

View File

@ -189,8 +189,8 @@ def create_app(args):
from libretranslate.language import load_languages
swagger_url = args.url_prefix + "/docs" # Swagger UI (w/o trailing '/')
api_url = args.url_prefix + "/spec"
swagger_url = "/docs" # Swagger UI (w/o trailing '/')
api_url = "/spec"
bp = Blueprint('Main app', __name__)
@ -1270,10 +1270,8 @@ def create_app(args):
if args.debug:
app.config["TEMPLATES_AUTO_RELOAD"] = True
if args.url_prefix:
app.register_blueprint(bp, url_prefix=args.url_prefix)
else:
app.register_blueprint(bp)
app.register_blueprint(bp)
limiter.init_app(app)
@ -1302,9 +1300,6 @@ def create_app(args):
# Call factory function to create our blueprint
swaggerui_blueprint = get_swaggerui_blueprint(swagger_url, api_url)
if args.url_prefix:
app.register_blueprint(swaggerui_blueprint, url_prefix=swagger_url)
else:
app.register_blueprint(swaggerui_blueprint)
app.register_blueprint(swaggerui_blueprint)
return app

View File

@ -4,6 +4,7 @@ import sys
from libretranslate.app import create_app
from libretranslate.default_values import DEFAULT_ARGUMENTS as DEFARGS
from werkzeug.middleware.dispatcher import DispatcherMiddleware
def get_args():
@ -255,7 +256,9 @@ def get_args():
def main():
args = get_args()
app = create_app(args)
app = DispatcherMiddleware(None, {
args.url_prefix: create_app(args)
})
if '--wsgi' in sys.argv:
return app