diff options
Diffstat (limited to 'g4f/requests/curl_cffi.py')
-rw-r--r-- | g4f/requests/curl_cffi.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/g4f/requests/curl_cffi.py b/g4f/requests/curl_cffi.py index 91142365..000448fe 100644 --- a/g4f/requests/curl_cffi.py +++ b/g4f/requests/curl_cffi.py @@ -1,6 +1,11 @@ from __future__ import annotations -from curl_cffi.requests import AsyncSession, Response, CurlMime +from curl_cffi.requests import AsyncSession, Response +try: + from curl_cffi.requests import CurlMime + has_curl_mime = True +except ImportError: + has_curl_mime = False from typing import AsyncGenerator, Any from functools import partialmethod import json @@ -78,6 +83,11 @@ class StreamSession(AsyncSession): patch = partialmethod(request, "PATCH") delete = partialmethod(request, "DELETE") -class FormData(CurlMime): - def add_field(self, name, data=None, content_type: str = None, filename: str = None) -> None: - self.addpart(name, content_type=content_type, filename=filename, data=data)
\ No newline at end of file +if has_curl_mime: + class FormData(CurlMime): + def add_field(self, name, data=None, content_type: str = None, filename: str = None) -> None: + self.addpart(name, content_type=content_type, filename=filename, data=data) +else: + class FormData(): + def __init__(self) -> None: + raise RuntimeError("CurlMimi in curl_cffi is missing | pip install -U g4f[curl_cffi]")
\ No newline at end of file |