Skip to content

Commit f5147fe

Browse files
committed
chore: reorg handlers
1 parent b5ecada commit f5147fe

File tree

4 files changed

+17
-16
lines changed

4 files changed

+17
-16
lines changed

src/stac_auth_proxy/app.py

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,37 +11,34 @@
1111
from fastapi import Depends, FastAPI
1212

1313
from .config import Settings
14-
from .handlers import OpenApiSpecHandler
1514
from .middleware import AddProcessTimeHeaderMiddleware
16-
from .proxy import ReverseProxy
15+
from .handlers import ReverseProxyHandler, OpenApiSpecHandler
1716

1817

1918
def create_app(settings: Optional[Settings] = None) -> FastAPI:
2019
"""FastAPI Application Factory."""
2120
settings = settings or Settings()
2221

2322
app = FastAPI(openapi_url=None)
24-
2523
app.add_middleware(AddProcessTimeHeaderMiddleware)
2624

2725
auth_scheme = OpenIdConnectAuth(
2826
openid_configuration_url=str(settings.oidc_discovery_url)
2927
).valid_token_dependency
3028

31-
proxy = ReverseProxy(upstream=str(settings.upstream_url))
32-
29+
proxy_handler = ReverseProxyHandler(upstream=str(settings.upstream_url))
3330
openapi_handler = OpenApiSpecHandler(
34-
proxy=proxy, oidc_config_url=str(settings.oidc_discovery_url)
35-
).dispatch
31+
proxy=proxy_handler, oidc_config_url=str(settings.oidc_discovery_url)
32+
)
3633

3734
# Endpoints that are explicitely marked private
3835
for path, methods in settings.private_endpoints.items():
3936
app.add_api_route(
4037
path,
4138
(
42-
proxy.stream
39+
proxy_handler.stream
4340
if path != settings.openapi_spec_endpoint
44-
else openapi_handler
41+
else openapi_handler.dispatch
4542
),
4643
methods=methods,
4744
dependencies=[Depends(auth_scheme)],
@@ -52,17 +49,17 @@ def create_app(settings: Optional[Settings] = None) -> FastAPI:
5249
app.add_api_route(
5350
path,
5451
(
55-
proxy.stream
52+
proxy_handler.stream
5653
if path != settings.openapi_spec_endpoint
57-
else openapi_handler
54+
else openapi_handler.dispatch
5855
),
5956
methods=methods,
6057
)
6158

6259
# Catchall for remainder of the endpoints
6360
app.add_api_route(
6461
"/{path:path}",
65-
proxy.stream,
62+
proxy_handler.stream,
6663
methods=["GET", "POST", "PUT", "PATCH", "DELETE"],
6764
dependencies=([] if settings.default_public else [Depends(auth_scheme)]),
6865
)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
from .open_api_spec import OpenApiSpecHandler
2+
from .reverse_proxy import ReverseProxyHandler
3+
4+
__all__ = ["OpenApiSpecHandler", "ReverseProxyHandler"]

src/stac_auth_proxy/handlers.py renamed to src/stac_auth_proxy/handlers/open_api_spec.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
from fastapi import Request, Response
77
from fastapi.routing import APIRoute
88

9-
from .proxy import ReverseProxy
10-
from .utils import safe_headers
9+
from .reverse_proxy import ReverseProxyHandler
10+
from ..utils import safe_headers
1111

1212
logger = logging.getLogger(__name__)
1313

@@ -16,7 +16,7 @@
1616
class OpenApiSpecHandler:
1717
"""Handler for OpenAPI spec requests."""
1818

19-
proxy: ReverseProxy
19+
proxy: ReverseProxyHandler
2020
oidc_config_url: str
2121
auth_scheme_name: str = "oidcAuth"
2222

src/stac_auth_proxy/proxy.py renamed to src/stac_auth_proxy/handlers/reverse_proxy.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515

1616
@dataclass
17-
class ReverseProxy:
17+
class ReverseProxyHandler:
1818
"""Reverse proxy functionality."""
1919

2020
upstream: str

0 commit comments

Comments
 (0)