(
self,
method: str,
url: str,
*,
headers: dict[str, str] | None = None,
cookies: dict[str, str] | None = None,
form_body: dict[str, Any] | None = None,
params: dict[str, Any] | None = None,
proxy_url: str | None = None,
allow_fallback_proxy: bool = False,
user_agent: str | None = None,
browser_impersonate: str | None = None,
sec_fetch_site: str = "same-origin",
)
| 117 | headers: dict[str, str] | None, |
| 118 | user_agent: str | None, |
| 119 | ) -> dict[str, str]: |
| 120 | merged = { |
| 121 | "Accept": "application/json, text/plain, */*", |
| 122 | "Accept-Language": self.settings.default_language, |
| 123 | "Set-Language": self.settings.default_language, |
| 124 | "Content-Type": "application/json;charset=utf-8", |
| 125 | "Origin": self.settings.bigmodel_origin, |
| 126 | "Referer": self.settings.bigmodel_referer, |
| 127 | } |
| 128 | if user_agent: |
| 129 | merged["User-Agent"] = user_agent |
| 130 | if headers: |
| 131 | merged.update({key: value for key, value in headers.items() if value}) |
| 132 | return merged |
| 133 | |
| 134 | def _dispatch( |
| 135 | self, |
| 136 | *, |
| 137 | method: str, |
| 138 | url: str, |
| 139 | headers: dict[str, str], |
| 140 | cookies: dict[str, str], |
| 141 | json_body: Any | None, |
| 142 | form_body: dict[str, Any] | None, |
| 143 | params: dict[str, Any] | None, |
| 144 | proxy_url: str | None, |
| 145 | browser_impersonate: str | None, |
| 146 | ): |
| 147 | if json_body is not None and form_body is not None: |
| 148 | raise UpstreamRequestError( |
| 149 | "HTTP 请求体配置冲突", |
| 150 | details={"url": url, "reason": "json_body and form_body are mutually exclusive"}, |
| 151 | ) |
| 152 | if curl_requests is not None: |
| 153 | session = curl_requests.Session(trust_env=False) |
| 154 | try: |
| 155 | kwargs: dict[str, Any] = { |
| 156 | "method": method.upper(), |
| 157 | "url": url, |
| 158 | "headers": headers, |
| 159 | "cookies": cookies, |
no test coverage detected