Files
bifrost/core/providers/bedrock/errors.go
Beyhan Oğur 880f412e2c first commit
2026-04-26 21:52:23 +03:00

35 lines
857 B
Go

package bedrock
import (
"net/http"
providerUtils "github.com/maximhq/bifrost/core/providers/utils"
"github.com/maximhq/bifrost/core/schemas"
"github.com/valyala/fasthttp"
)
func parseBedrockHTTPError(statusCode int, headers http.Header, body []byte) *schemas.BifrostError {
fastResp := fasthttp.AcquireResponse()
defer fasthttp.ReleaseResponse(fastResp)
fastResp.SetStatusCode(statusCode)
for k, values := range headers {
for _, value := range values {
fastResp.Header.Add(k, value)
}
}
fastResp.SetBody(body)
var errorResp BedrockError
bifrostErr := providerUtils.HandleProviderAPIError(fastResp, &errorResp)
if errorResp.Message != "" {
if bifrostErr.Error == nil {
bifrostErr.Error = &schemas.ErrorField{}
}
bifrostErr.Error.Message = errorResp.Message
bifrostErr.Error.Code = errorResp.Code
}
return bifrostErr
}