Skip to content

Commit f24cd81

Browse files
committed
feat: 新增 URL 重复错误类型及 409 冲突处理
1 parent 4824e41 commit f24cd81

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

client/knowledge.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ type UpdateImageInfoRequest struct {
7474
// ErrDuplicateFile is returned when attempting to create a knowledge entry with a file that already exists
7575
var ErrDuplicateFile = errors.New("file already exists")
7676

77+
// ErrDuplicateURL is returned when attempting to create a knowledge entry with a URL that already exists
78+
var ErrDuplicateURL = errors.New("URL already exists")
79+
7780
// CreateKnowledgeFromFile creates a knowledge entry from a local file path
7881
func (c *Client) CreateKnowledgeFromFile(ctx context.Context,
7982
knowledgeBaseID string, filePath string, metadata map[string]string, enableMultimodel *bool,
@@ -186,7 +189,12 @@ func (c *Client) CreateKnowledgeFromURL(ctx context.Context, knowledgeBaseID str
186189
}
187190

188191
var response KnowledgeResponse
189-
if err := parseResponse(resp, &response); err != nil {
192+
if resp.StatusCode == http.StatusConflict {
193+
if err := json.NewDecoder(resp.Body).Decode(&response); err != nil {
194+
return nil, fmt.Errorf("failed to parse response: %w", err)
195+
}
196+
return &response.Data, ErrDuplicateURL
197+
} else if err := parseResponse(resp, &response); err != nil {
190198
return nil, err
191199
}
192200

0 commit comments

Comments
 (0)