Skip to content

Commit 795dbc0

Browse files
committed
rm undefined and default product
1 parent a73e6a6 commit 795dbc0

File tree

3 files changed

+18
-23
lines changed

3 files changed

+18
-23
lines changed

services/web/server/src/simcore_service_webserver/products/_api.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
from .errors import BelowMinimumPaymentError, ProductPriceNotDefinedError
1616

1717

18-
def get_product_name(request: web.Request) -> str:
19-
product_name: str = request[RQ_PRODUCT_KEY]
18+
def get_product_name(request: web.Request) -> str | None:
19+
"""Returns product name in request but might be undefined"""
20+
product_name: str | None = request[RQ_PRODUCT_KEY]
2021
return product_name
2122

2223

@@ -37,6 +38,11 @@ def list_products(app: web.Application) -> list[Product]:
3738
return products
3839

3940

41+
def get_default_product_name(app: web.Application) -> str:
42+
product_name: str = app[f"{APP_PRODUCTS_KEY}_default"]
43+
return product_name
44+
45+
4046
async def get_current_product_credit_price_info(
4147
request: web.Request,
4248
) -> ProductPriceInfo | None:

services/web/server/src/simcore_service_webserver/products/_middlewares.py

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import enum
21
import logging
32
from collections import OrderedDict
43

@@ -39,15 +38,6 @@ def _discover_product_by_request_header(request: web.Request) -> str | None:
3938
return None
4039

4140

42-
def _get_app_default_product_name(request: web.Request) -> str:
43-
product_name: str = request.app[f"{APP_PRODUCTS_KEY}_default"]
44-
return product_name
45-
46-
47-
class Sentinel(enum.StrEnum):
48-
UNDEFINED = enum.auto()
49-
50-
5141
_INCLUDE_PATHS: set[str] = {"/static-frontend-data.json", "/socket.io/"}
5242

5343

@@ -59,15 +49,13 @@ async def discover_product_middleware(request: web.Request, handler: Handler):
5949
- request[RQ_PRODUCT_KEY] is set to discovered product in 3 types of entrypoints
6050
- if no product discovered, then it is set to default
6151
"""
52+
request[RQ_PRODUCT_KEY] = None
6253
# - API entrypoints
6354
# - /static info for front-end
6455
if request.path.startswith(f"/{API_VTAG}") or request.path in _INCLUDE_PATHS:
65-
request[RQ_PRODUCT_KEY] = (
66-
_discover_product_by_request_header(request)
67-
or _discover_product_by_hostname(request)
68-
or Sentinel.UNDEFINED
69-
# FIXME: or _get_app_default_product_name(request)
70-
)
56+
request[RQ_PRODUCT_KEY] = _discover_product_by_request_header(
57+
request
58+
) or _discover_product_by_hostname(request)
7159

7260
# - Publications entrypoint: redirections from other websites. SEE studies_access.py::access_study
7361
# - Root entrypoint: to serve front-end apps
@@ -76,16 +64,15 @@ async def discover_product_middleware(request: web.Request, handler: Handler):
7664
or request.path.startswith("/view")
7765
or request.path == "/"
7866
):
79-
request[RQ_PRODUCT_KEY] = (
80-
_discover_product_by_hostname(request) or Sentinel.UNDEFINED
81-
)
82-
# FIXME: or _get_app_default_product_name(request)
67+
request[RQ_PRODUCT_KEY] = _discover_product_by_hostname(request)
8368

8469
msg = "\n".join(
8570
[
8671
f"{request.url=}",
8772
f"{request.host=}",
88-
f"{request.headers=}",
73+
f"{request.remote=}",
74+
*[f"{k}:{request.headers[k][:20]}" for k in request.headers],
75+
f"{request.headers.get('X-Forwarded-Host')=}",
8976
f"{request.get(RQ_PRODUCT_KEY)=}",
9077
]
9178
)

services/web/server/src/simcore_service_webserver/products/api.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from ._api import (
44
get_credit_amount,
55
get_current_product,
6+
get_default_product_name,
67
get_product,
78
get_product_name,
89
get_product_stripe_info,
@@ -14,6 +15,7 @@
1415
__all__: tuple[str, ...] = (
1516
"get_credit_amount",
1617
"get_current_product",
18+
"get_default_product_name",
1719
"get_product_name",
1820
"get_product_stripe_info",
1921
"get_product_template_path",

0 commit comments

Comments
 (0)