File tree Expand file tree Collapse file tree 2 files changed +20
-14
lines changed
Expand file tree Collapse file tree 2 files changed +20
-14
lines changed Original file line number Diff line number Diff line change 1010 "nyt" : NYTLocationService (),
1111}
1212
13+ class DataSourceRequest :
14+ def __init__ (self , request ): # request is of Obj reference of Reqeust from FastAPI
15+ self .request = request
16+
17+ def get_data_source (self ):
18+ """
19+ Retrieves the provided data-source service.
1320
14- def data_source (source ):
15- """
16- Retrieves the provided data-source service.
17-
18- :returns: The service.
19- :rtype: LocationService
20- """
21- return DATA_SOURCES .get (source .lower ())
21+ :returns: The service.
22+ :rtype: LocationService
23+ """
24+ request_source = self .request .query_params .get ("source" , default = "jhu" ) # gets source parameters
25+ return DATA_SOURCES .get (request_source .lower ())
Original file line number Diff line number Diff line change 1414from sentry_sdk .integrations .asgi import SentryAsgiMiddleware
1515
1616from .config import get_settings
17- from .data import data_source
17+ from .data import DataSourceRequest
1818from .routers import V1 , V2
1919from .utils .httputils import setup_client_session , teardown_client_session
2020
@@ -74,17 +74,19 @@ async def add_datasource(request: Request, call_next):
7474 Attach the data source to the request.state.
7575 """
7676 # Retrieve the datas ource from query param.
77- source = data_source (request .query_params .get ("source" , default = "jhu" ))
77+ requested_data_source = DataSourceRequest (request )
78+ data_source = requested_data_source .get_data_source ()
79+
7880
79- # Abort with 404 if source cannot be found.
80- if not source :
81+ # Abort with 404 if data_source cannot be found.
82+ if not data_source :
8183 return Response ("The provided data-source was not found." , status_code = 404 )
8284
8385 # Attach source to request.
84- request .state .source = source
86+ request .state .data_source = data_source
8587
8688 # Move on...
87- LOGGER .debug (f"source provided: { source .__class__ .__name__ } " )
89+ LOGGER .debug (f"source provided: { data_source .__class__ .__name__ } " )
8890 response = await call_next (request )
8991 return response
9092
You can’t perform that action at this time.
0 commit comments