🎨 Auto format

This commit is contained in:
pre-commit-ci-lite[bot] 2025-12-05 21:37:31 +00:00 committed by GitHub
parent ce484fd61d
commit 468c1437e6
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 25 additions and 20 deletions

View File

@ -18,11 +18,15 @@ from fastapi import routing
from fastapi.datastructures import Default, DefaultPlaceholder from fastapi.datastructures import Default, DefaultPlaceholder
from fastapi.exception_handlers import ( from fastapi.exception_handlers import (
http_exception_handler, http_exception_handler,
request_entity_too_large_exception_handler,
request_validation_exception_handler, request_validation_exception_handler,
websocket_request_validation_exception_handler, websocket_request_validation_exception_handler,
request_entity_too_large_exception_handler,
) )
from fastapi.exceptions import RequestValidationError, WebSocketRequestValidationError, RequestEntityTooLarge from fastapi.exceptions import (
RequestEntityTooLarge,
RequestValidationError,
WebSocketRequestValidationError,
)
from fastapi.logger import logger from fastapi.logger import logger
from fastapi.middleware.asyncexitstack import AsyncExitStackMiddleware from fastapi.middleware.asyncexitstack import AsyncExitStackMiddleware
from fastapi.openapi.docs import ( from fastapi.openapi.docs import (
@ -998,7 +1002,6 @@ class FastAPI(Starlette):
request_entity_too_large_exception_handler, request_entity_too_large_exception_handler,
) )
self.user_middleware: List[Middleware] = ( self.user_middleware: List[Middleware] = (
[] if middleware is None else list(middleware) [] if middleware is None else list(middleware)
) )

View File

@ -36,7 +36,6 @@ from fastapi._compat import (
get_annotation_from_field_info, get_annotation_from_field_info,
get_cached_model_fields, get_cached_model_fields,
get_missing_field_error, get_missing_field_error,
is_bytes_field,
is_bytes_sequence_field, is_bytes_sequence_field,
is_scalar_field, is_scalar_field,
is_scalar_sequence_field, is_scalar_sequence_field,
@ -883,6 +882,7 @@ def _should_embed_body_fields(fields: List[ModelField]) -> bool:
from fastapi.exceptions import RequestEntityTooLarge from fastapi.exceptions import RequestEntityTooLarge
async def _extract_form_body( async def _extract_form_body(
body_fields: List[ModelField], body_fields: List[ModelField],
received_body: FormData, received_body: FormData,
@ -892,10 +892,9 @@ async def _extract_form_body(
for field in body_fields: for field in body_fields:
value = _get_multidict_value(field, received_body) value = _get_multidict_value(field, received_body)
field_info = field.field_info field_info = field.field_info
if ( if isinstance(
isinstance(field_info, (params.File, temp_pydantic_v1_params.File)) field_info, (params.File, temp_pydantic_v1_params.File)
and isinstance(value, UploadFile) ) and isinstance(value, UploadFile):
):
# If a file size limit is defined through max_size # If a file size limit is defined through max_size
max_size = getattr(field_info, "max_size", None) max_size = getattr(field_info, "max_size", None)
if max_size is not None: if max_size is not None:

View File

@ -1,5 +1,8 @@
from fastapi.encoders import jsonable_encoder from fastapi.encoders import jsonable_encoder
from fastapi.exceptions import RequestValidationError, WebSocketRequestValidationError, RequestEntityTooLarge from fastapi.exceptions import (
RequestValidationError,
WebSocketRequestValidationError,
)
from fastapi.utils import is_body_allowed_for_status_code from fastapi.utils import is_body_allowed_for_status_code
from fastapi.websockets import WebSocket from fastapi.websockets import WebSocket
from starlette.exceptions import HTTPException from starlette.exceptions import HTTPException
@ -14,6 +17,7 @@ async def request_entity_too_large_exception_handler(request, exc: Exception):
content={"detail": str(exc) or "Uploaded file too large"}, content={"detail": str(exc) or "Uploaded file too large"},
) )
async def http_exception_handler(request: Request, exc: HTTPException) -> Response: async def http_exception_handler(request: Request, exc: HTTPException) -> Response:
headers = getattr(exc, "headers", None) headers = getattr(exc, "headers", None)
if not is_body_allowed_for_status_code(exc.status_code): if not is_body_allowed_for_status_code(exc.status_code):

View File

@ -183,7 +183,8 @@ class ResponseValidationError(ValidationException):
message += f" {err}\n" message += f" {err}\n"
return message return message
class RequestEntityTooLarge(Exception): class RequestEntityTooLarge(Exception):
"""Raised when uploaded content exceeds the configured max_size.""" """Raised when uploaded content exceeds the configured max_size."""
pass
pass

View File

@ -1,6 +1,6 @@
from typing import Union from typing import Union
from fastapi import FastAPI, UploadFile, File from fastapi import FastAPI, File, UploadFile
from pydantic import BaseModel from pydantic import BaseModel
app = FastAPI() app = FastAPI()
@ -39,5 +39,3 @@ async def upload_file(file: UploadFile = File(max_size=500)):
total_bytes += len(chunk) total_bytes += len(chunk)
return {"filename": file.filename, "size": total_bytes} return {"filename": file.filename, "size": total_bytes}