Skip to content

Commit ae10d98

Browse files
committed
fix single item lists
1 parent 720a77a commit ae10d98

File tree

2 files changed

+15
-342
lines changed

2 files changed

+15
-342
lines changed

fasthtml/core.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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
234232
async def _find_ps(conn, data, hdrs, params):
235233
if conn.query_params: data |= dict(conn.query_params)

0 commit comments

Comments
 (0)