(request: Request, model_class: type[BaseModel])
| 324 | |
| 325 | |
| 326 | async def parse_body_model(request: Request, model_class: type[BaseModel]): |
| 327 | content_type = request.headers.get("content-type", "").lower() |
| 328 | try: |
| 329 | if "application/x-www-form-urlencoded" in content_type or "multipart/form-data" in content_type: |
| 330 | payload = dict(await request.form()) |
| 331 | else: |
| 332 | payload = await request.json() |
| 333 | return model_class.model_validate(payload) |
| 334 | except ValidationError as e: |
| 335 | raise HTTPException(status_code=422, detail=e.errors()) |
| 336 | except Exception: |
| 337 | raise HTTPException(status_code=400, detail="请求体格式错误") |
| 338 | |
| 339 | |
| 340 | async def parse_init_chunk_upload(request: Request) -> InitChunkUploadModel: |
no outgoing calls
no test coverage detected