@@ -188,7 +188,7 @@ async def _find_p(conn, data, hdrs, arg:str, p:Parameter):
188188 if issubclass (anno , Starlette ): return conn .scope ['app' ]
189189 if issubclass (anno , HTTPConnection ): return conn
190190 if issubclass (anno , State ): return conn .scope ['app' ].state
191- if issubclass ( anno , dict ) : return data
191+ if anno is dict : return data
192192 if _is_body (anno ):
193193 if 'session' .startswith (arg .lower ()): return conn .scope .get ('session' , {})
194194 return await _from_body (conn , p , data )
@@ -222,14 +222,12 @@ async def _find_p(conn, data, hdrs, arg:str, p:Parameter):
222222 if isinstance (conn , Request ): raise HTTPException (400 , f"Missing required field: { arg } " )
223223 raise ValueError (f"Missing required field: { arg } " )
224224 res = p .default
225- # We can cast str and list[str] to types; otherwise just return what we have
226- if not isinstance (res , (list ,str )) or anno is empty : return res
225+ if anno is empty : return res
227226 try : return _fix_anno (anno , res )
228227 except ValueError as e :
229228 if isinstance (conn , Request ): raise HTTPException (404 , f"{ conn .url .path } : { e } " ) from None
230229 raise
231230
232-
233231# %% ../nbs/api/00_core.ipynb #bf42edad
234232async def _find_ps (conn , data , hdrs , params ):
235233 if conn .query_params : data |= dict (conn .query_params )
0 commit comments