full = [
"itsdangerous",
"jinja2",
- "python-multipart>=0.0.13",
+ "python-multipart>=0.0.7",
"pyyaml",
"httpx>=0.22.0",
]
from starlette.datastructures import FormData, Headers, UploadFile
-try:
- import python_multipart as multipart
- from python_multipart.multipart import parse_options_header
-except ModuleNotFoundError: # pragma: no cover
- parse_options_header = None # type: ignore
- multipart = None # type: ignore
-
if typing.TYPE_CHECKING:
- from python_multipart.multipart import MultipartCallbacks, QuerystringCallbacks
+ import multipart
+ from multipart.multipart import MultipartCallbacks, QuerystringCallbacks, parse_options_header
+else:
+ try:
+ try:
+ import python_multipart as multipart
+ from python_multipart.multipart import parse_options_header
+ except ModuleNotFoundError: # pragma: no cover
+ import multipart
+ from multipart.multipart import parse_options_header
+ except ModuleNotFoundError: # pragma: no cover
+ multipart = None
+ parse_options_header = None
class FormMessage(Enum):
from starlette.formparsers import FormParser, MultiPartException, MultiPartParser
from starlette.types import Message, Receive, Scope, Send
-try:
- from python_multipart.multipart import parse_options_header
-except ModuleNotFoundError: # pragma: no cover
- parse_options_header = None # type: ignore
-
-
if typing.TYPE_CHECKING:
+ from multipart.multipart import parse_options_header
+
from starlette.applications import Starlette
from starlette.routing import Router
+else:
+ try:
+ try:
+ from python_multipart.multipart import parse_options_header
+ except ModuleNotFoundError: # pragma: no cover
+ from multipart.multipart import parse_options_header
+ except ModuleNotFoundError: # pragma: no cover
+ parse_options_header = None
SERVER_PUSH_HEADERS_TO_COPY = {