返回提交历史
Modified
g4f/Provider/Copilot.py
+2
-0
Modified
g4f/providers/response.py
+5
-6
XFEstudio/gpt4free
Add error handling for 401 status in Copilot; refactor JsonRequest and response classes for improved structure and clarity
a55256a4
代码差异
2 个文件
+7
-6
@@ -167,6 +167,8 @@ class Copilot(AsyncAuthedProvider, ProviderModelMixin):
167
167
},
168
168
json=data
169
169
)
170
if response.status_code == 401:
171
raise MissingAuthError("Status 401: Invalid session")
170
172
response.raise_for_status()
171
173
conversation = Conversation(response.json().get("currentConversationId"))
172
174
debug.log(f"Copilot: Created conversation: {conversation.conversation_id}")
@@ -174,15 +174,14 @@ class JsonResponse(ResponseType, ObjectMixin):
174
174
def __str__(self) -> str:
175
175
return str(self.get_dict())
176
176
177
class JsonRequest(ResponseType, ObjectMixin):
178
def __str__(self) -> str:
179
return str(self.get_dict())
180
181
177
class HiddenResponse(ResponseType):
182
178
def __str__(self) -> str:
183
179
"""Hidden responses return an empty string."""
184
180
return ""
185
181
182
class JsonRequest(HiddenResponse, ObjectMixin):
183
pass
184
186
185
class FinishReason(JsonMixin, HiddenResponse):
187
186
def __init__(self, reason: str) -> None:
188
187
"""Initialize with a reason."""
@@ -425,7 +424,7 @@ class VideoResponse(MediaResponse):
425
424
return "\n".join(result)
426
425
return "\n".join([f'<video src="{quote_url(video)}"></video>' for video in self.get_list()])
427
426
428
class ImagePreview(ImageResponse, HiddenResponse):
427
class ImagePreview(HiddenResponse, ImageResponse):
429
428
pass
430
429
431
430
class PreviewResponse(HiddenResponse):
@@ -442,5 +441,5 @@ class Parameters(ResponseType, JsonMixin):
442
441
"""Return an empty string."""
443
442
return ""
444
443
445
class ProviderInfo(JsonMixin, HiddenResponse):
444
class ProviderInfo(HiddenResponse, JsonMixin):
446
445
pass