1- import enum
21import logging
32from 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 )
0 commit comments