Skip to content

Commit 77e22a3

Browse files
committed
adjustments for request_adapter
1 parent 79afb0b commit 77e22a3

6 files changed

Lines changed: 10 additions & 7 deletions

File tree

dash/backends/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def get_backend(name: str) -> tuple[BaseDashServer, RequestAdapter]:
1919
try:
2020
module = importlib.import_module(module_name)
2121
server = getattr(module, server_class)
22-
request_adapter = getattr(module, request_class)
22+
request_adapter = server.request_adapter # type: ignore
2323
return server, request_adapter
2424
except KeyError as e:
2525
raise ValueError(f"Unknown backend: {name}") from e

dash/backends/_fastapi.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ def __init__(self, server: FastAPI):
8888
self.server_type = "fastapi"
8989
self.server: FastAPI = server
9090
self.error_handling_mode = "prune"
91+
self.request_adapter = FastAPIRequestAdapter
9192
super().__init__()
9293

9394
def __call__(self, *args: Any, **kwargs: Any):

dash/backends/_flask.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ class FlaskDashServer(BaseDashServer):
3232
def __init__(self, server: Flask) -> None:
3333
self.server: Flask = server
3434
self.server_type = "flask"
35+
self.request_adapter = FlaskRequestAdapter
3536
super().__init__()
3637

3738
def __call__(self, *args: Any, **kwargs: Any):

dash/backends/_quart.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ def __init__(self, server: Quart) -> None:
3535
self.server: Quart = server
3636
self.config = {}
3737
self.error_handling_mode = "prune"
38+
self.request_adapter = QuartRequestAdapter
3839
super().__init__()
3940

4041
def __call__(self, *args: Any, **kwargs: Any): # type: ignore[name-defined]

dash/backends/base_server.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ class BaseDashServer(ABC):
66
server_type: str
77
server: Any
88
config: dict[str, Any]
9+
request_adapter: Any
910

1011
def __call__(self, *args, **kwargs) -> Any:
1112
# Default: WSGI

dash/dash.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -423,12 +423,11 @@ def __init__( # pylint: disable=too-many-statements, too-many-branches
423423

424424
# Determine backend
425425
if backend is None:
426-
backend_cls, request_cls = get_backend("flask")
426+
backend_cls = get_backend("flask")
427427
elif isinstance(backend, str):
428-
backend_cls, request_cls = get_backend(backend)
428+
backend_cls = get_backend(backend)
429429
elif isinstance(backend, type):
430430
backend_cls = backend
431-
_, request_cls = get_backend(backend.server_type)
432431
else:
433432
raise ValueError("Invalid backend argument")
434433

@@ -437,20 +436,20 @@ def __init__( # pylint: disable=too-many-statements, too-many-branches
437436
# User provided a server instance (e.g., Flask, Quart, FastAPI)
438437
inferred_backend = backends.get_server_type(server)
439438
_validate.check_backend(backend, inferred_backend)
440-
backend_cls, request_cls = get_backend(inferred_backend)
439+
backend_cls = get_backend(inferred_backend)
441440
if name is None:
442441
caller_name = getattr(server, "name", caller_name)
443442

444443
self.backend = backend_cls(server)
445444
self.server = server
446445
backends.backend = self.backend # type: ignore
447-
backends.request_adapter = request_cls
446+
backends.request_adapter = self.backend.request_adapter # type: ignore
448447
else:
449448
# No server instance provided, create backend and let backend create server
450449
self.server = backend_cls.create_app(caller_name) # type: ignore
451450
self.backend = backend_cls(self.server)
452451
backends.backend = self.backend
453-
backends.request_adapter = request_cls
452+
backends.request_adapter = self.backend.request_adapter # type: ignore
454453

455454
base_prefix, routes_prefix, requests_prefix = pathname_configs(
456455
url_base_pathname, routes_pathname_prefix, requests_pathname_prefix

0 commit comments

Comments
 (0)