Skip to content

Commit

Permalink
Merge pull request optuna#959 from c-bata/fix-bottle-gzip
Browse files Browse the repository at this point in the history
Fix `Content-Encoding` and `Content-Type` headers in Bottle 0.13+
  • Loading branch information
c-bata authored Sep 11, 2024
2 parents 6b02d64 + 95756e9 commit 4a55ea7
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
18 changes: 14 additions & 4 deletions optuna_dashboard/_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,10 @@
import io
from itertools import chain
import logging
import mimetypes
import os
import re
import typing
from typing import Any
from typing import Optional
from typing import Union
import warnings

from bottle import Bottle
Expand Down Expand Up @@ -57,6 +55,11 @@


if typing.TYPE_CHECKING:
from typing import Any
from typing import Literal
from typing import Optional
from typing import Union

from _typeshed.wsgi import WSGIApplication
from optuna.artifacts._protocol import ArtifactStore
from optuna_dashboard.artifact.protocol import ArtifactBackend
Expand Down Expand Up @@ -557,11 +560,18 @@ def favicon() -> BottleViewReturn:

@app.get("/static/<filename:path>")
def send_static(filename: str) -> BottleViewReturn:
mimetype: str | Literal[True] = True
headers: dict[str, str] | None = None
if not debug and "gzip" in request.headers["Accept-Encoding"]:
gz_filename = filename.strip("/\\") + ".gz"
if cached_path_exists(os.path.join(STATIC_DIR, gz_filename)):
filename = gz_filename
return static_file(filename, root=STATIC_DIR)
headers = {"Content-Encoding": "gzip"}

mimetype_, _ = mimetypes.guess_type(filename)
if mimetype_ is not None:
mimetype = mimetype_
return static_file(filename, root=STATIC_DIR, mimetype=mimetype, headers=headers)

register_rdb_migration_route(app, storage)
register_artifact_route(app, storage, artifact_store)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ classifiers = [
"Intended Audience :: Science/Research",
]
dependencies = [
"bottle",
"bottle>=0.13.0",
"optuna>=3.1.0",
"packaging",
"scikit-learn",
Expand Down

0 comments on commit 4a55ea7

Please sign in to comment.