若干更新迭代
This commit is contained in:
1 parent
deb9cc5bcf
commit
4ac786aafb
64 files changed
+3251
-291
No files matched your search
@@ -146,11 +146,11 @@ func (v *Volcengine) call(ctx context.Context, action, version string, payload a
|
||||
raw, err := io.ReadAll(io.LimitReader(resp.Body, limit+1))
|
||||
if err != nil {
|
||||
logVolcengineFailure(volcengineDiagnostic{Operation: operation, Status: resp.StatusCode, ErrorClass: "response_read", ElapsedMS: elapsedMilliseconds(startedAt)})
|
||||
return Result{}, &ProviderError{Operation: "volcengine request", Status: resp.StatusCode}
|
||||
return Result{}, &ProviderError{Operation: "volcengine request", Cause: err}
|
||||
}
|
||||
if int64(len(raw)) > limit {
|
||||
logVolcengineFailure(volcengineDiagnostic{Operation: operation, Status: resp.StatusCode, ErrorClass: "response_too_large", ElapsedMS: elapsedMilliseconds(startedAt)})
|
||||
return Result{}, &ProviderError{Operation: "volcengine request", Status: resp.StatusCode}
|
||||
return Result{}, &ProviderError{Operation: "volcengine request"}
|
||||
}
|
||||
validJSON := json.Valid(raw)
|
||||
r := map[string]any{}
|
||||
@@ -169,7 +169,7 @@ func (v *Volcengine) call(ctx context.Context, action, version string, payload a
|
||||
if resp.StatusCode < 200 || resp.StatusCode >= 300 {
|
||||
diagnostic.ErrorClass = "service"
|
||||
logVolcengineFailure(diagnostic)
|
||||
return Result{}, &ProviderError{Operation: "volcengine request", Status: resp.StatusCode, Code: diagnostic.Code}
|
||||
return Result{}, &ProviderError{Operation: "volcengine request", Status: resp.StatusCode, Code: diagnostic.Code, RequestID: diagnostic.RequestID, Detail: safeProviderResponseDetail(raw, body, v.config.AccessKeyID, v.config.SecretAccessKey)}
|
||||
}
|
||||
if !validJSON {
|
||||
diagnostic.ErrorClass = "invalid_json"
|
||||
@@ -179,14 +179,19 @@ func (v *Volcengine) call(ctx context.Context, action, version string, payload a
|
||||
if response.code != nil && !volcengineRequestSucceeded(response.code) {
|
||||
diagnostic.ErrorClass = "service"
|
||||
logVolcengineFailure(diagnostic)
|
||||
return Result{}, &ProviderError{Operation: "volcengine request", Code: diagnostic.Code}
|
||||
return Result{}, &ProviderError{Operation: "volcengine request", Status: resp.StatusCode, Code: diagnostic.Code, RequestID: diagnostic.RequestID, Detail: safeProviderResponseDetail(raw, body, v.config.AccessKeyID, v.config.SecretAccessKey)}
|
||||
}
|
||||
d := object(first(response.business["data"], response.business["Data"]))
|
||||
out := []string{}
|
||||
for _, value := range []any{d["image_urls"], d["image_url"], d["url"], d["result_url"], d["output"], d["outputs"]} {
|
||||
collectURLs(value, &out)
|
||||
}
|
||||
return Result{TaskID: stringValue(response.business["task_id"], response.business["TaskId"], d["task_id"], d["TaskId"]), Status: status(first(d["status"], d["Status"], response.business["status"], response.business["Status"])), OutputURLs: out, Raw: raw}, nil
|
||||
result := Result{TaskID: stringValue(response.business["task_id"], response.business["TaskId"], d["task_id"], d["TaskId"]), Status: status(first(d["status"], d["Status"], response.business["status"], response.business["Status"])), OutputURLs: out, Raw: raw}
|
||||
result = annotateTerminalFailure(result, raw, resp.Header, body, v.config.AccessKeyID, v.config.SecretAccessKey)
|
||||
if result.Status == StatusFailed && result.ErrorDetail == "" {
|
||||
result.ErrorDetail = SanitizeFailureDetail(stringValue(d["message"], response.business["message"]), body, v.config.AccessKeyID, v.config.SecretAccessKey)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
type volcengineResponse struct {
|
||||
@@ -215,11 +220,12 @@ func inspectVolcengineResponse(root map[string]any, headers http.Header) volceng
|
||||
business["code_n"], business["codeN"], business["CodeN"],
|
||||
root["code_n"], root["codeN"], root["CodeN"],
|
||||
),
|
||||
requestID: first(
|
||||
requestID: firstSafeHTTPProviderDiagnosticToken(128,
|
||||
business["request_id"], business["requestId"], business["RequestId"], business["RequestID"],
|
||||
root["request_id"], root["requestId"], root["RequestId"], root["RequestID"],
|
||||
metadata["RequestId"], metadata["RequestID"], metadata["request_id"], metadata["requestId"],
|
||||
headers.Get("X-Tt-Logid"), headers.Get("X-Request-Id"),
|
||||
requestIDFromMessage(stringValue(gatewayError["Message"], gatewayError["message"], business["message"], root["message"])),
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user