bcode

package
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 21, 2025 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Common HTTP status codes
	HTTPStatusOK                  = 200
	HTTPStatusBadRequest          = 400
	HTTPStatusUnauthorized        = 401
	HTTPStatusForbidden           = 403
	HTTPStatusNotFound            = 404
	HTTPStatusInternalServerError = 500
	HTTPStatusBadGateway          = 502
)

Variables

View Source
var (
	AIGCServiceCode = NewBcode(http.StatusOK, 10000, "service interface call success")

	ErrAIGCServiceBadRequest = NewBcode(http.StatusBadRequest, 10001, "bad request")

	ErrAIGCServiceInitEnv = NewBcode(http.StatusInternalServerError, 10002, "set env failed")

	ErrAIGCServiceInstallEngine = NewBcode(http.StatusInternalServerError, 10003, "install model engine failed")

	ErrAIGCServiceStartEngine = NewBcode(http.StatusInternalServerError, 10004, "start model engine failed")

	ErrGetEngineModelList = NewBcode(http.StatusInternalServerError, 10005, "get model list failed")

	ErrEnginePullModel = NewBcode(http.StatusInternalServerError, 10006, "pull model failed")

	ErrAIGCServiceAddProvider = NewBcode(http.StatusInternalServerError, 10007, "provider insert db failed")

	ErrAIGCServiceProviderIsExist = NewBcode(http.StatusConflict, 10009, "provider already exist")

	ErrServiceRecordNotFound = NewBcode(http.StatusNotFound, 10011, "service not found")

	ErrServiceUpdateFailed = NewBcode(http.StatusInternalServerError, 10012, "service edit failed")

	ErrAddModelService = NewBcode(http.StatusInternalServerError, 10013, "add model service failed")

	ErrAIGCServiceVersionNotMatch = NewBcode(http.StatusUnprocessableEntity, 10014, "aog version not match")

	ErrUnSupportAIGCService = NewBcode(http.StatusBadRequest, 10015, "unsupport aog service")

	ErrUnSupportHybridPolicy = NewBcode(http.StatusBadRequest, 10016, "unsupport hybrid policy")

	ErrUnSupportFlavor = NewBcode(http.StatusBadRequest, 10017, "unsupport api flavor")

	ErrUnSupportAuthType = NewBcode(http.StatusBadRequest, 10018, "unsupport auth type")

	ErrEngineUnSupportService = NewBcode(http.StatusBadRequest, 10019, "engine unsupport current service")
)
View Source
var (
	ServiceProviderCode = NewBcode(http.StatusOK, 20000, "service provider interface call success")

	ErrServiceProviderBadRequest = NewBcode(http.StatusBadRequest, 20001, "bad request")

	ErrProviderInvalid = NewBcode(http.StatusBadRequest, 20002, "provider invalid")

	ErrProviderIsUnavailable = NewBcode(http.StatusBadRequest, 20003, "service provider is unavailable")

	ErrProviderModelEmpty = NewBcode(http.StatusBadRequest, 20004, "provider model empty")

	ErrProviderUpdateFailed = NewBcode(http.StatusInternalServerError, 20005, "provider update failed")

	ErrProviderAuthInfoLost = NewBcode(http.StatusBadRequest, 20006, "provider api auth info lost")

	ErrProviderServiceUrlNotFormat = NewBcode(http.StatusBadRequest, 20007, "provider service url is irregular")
)
View Source
var (
	ModelCode = NewBcode(http.StatusOK, 30000, "service interface call success")

	ErrModelBadRequest = NewBcode(http.StatusBadRequest, 30001, " bad request")

	ErrModelIsExist = NewBcode(http.StatusConflict, 30002, "provider model already exist")

	ErrModelRecordNotFound = NewBcode(http.StatusNotFound, 30003, "model not exist")

	ErrAddModel = NewBcode(http.StatusInternalServerError, 30004, "model insert db failed")

	ErrDeleteModel = NewBcode(http.StatusInternalServerError, 30005, "model delete db failed")

	ErrEngineDeleteModel = NewBcode(http.StatusInternalServerError, 30006, "engine delete model failed")

	ErrNoRecommendModel = NewBcode(http.StatusNotFound, 30007, "No Recommend Model")

	ErrModelServiceNotAvailable = NewBcode(http.StatusInternalServerError, 30008, "Model service not available")
)
View Source
var (
	TaskCode = NewBcode(http.StatusOK, 40000, "Service interface call success")

	// Client Error Codes (4xx) - These are returned to users
	ErrNoTargetProvider            = NewBcode(http.StatusNotFound, 40001, "There is no available target provider for the request")
	ErrReadRequestBody             = NewBcode(http.StatusBadRequest, 40002, "Failed to read request body")
	ErrUnmarshalRequestBody        = NewBcode(http.StatusBadRequest, 40003, "Failed to unmarshal request body")
	ErrUnSupportContentType        = NewBcode(http.StatusUnsupportedMediaType, 40004, "Unsupported content type")
	ErrUnSupportRequestMethod      = NewBcode(http.StatusMethodNotAllowed, 40005, "Unsupported request method")
	ErrUnsupportedCloseNotifier    = NewBcode(http.StatusNotImplemented, 40006, "Unsupported CloseNotifier")
	ErrUnsupportedFlusher          = NewBcode(http.StatusNotImplemented, 40007, "Unsupported Flusher")
	ErrNotExistDefaultProvider     = NewBcode(http.StatusNotFound, 40008, "The default provider does not exist")
	ErrModelUnDownloaded           = NewBcode(http.StatusNotFound, 40009, "The model has not been downloaded yet")
	ErrProviderNotExist            = NewBcode(http.StatusNotFound, 40010, "The provider does not exist")
	ErrUnmarshalProviderProperties = NewBcode(http.StatusInternalServerError, 40011, "Failed to unmarshal provider properties")
	ErrMiddlewareHandle            = NewBcode(http.StatusInternalServerError, 40012, "Middleware handle error")
	ErrFlavorConvertRequest        = NewBcode(http.StatusUnprocessableEntity, 40013, "Flavor convert request error")
	ErrFlavorConvertResponse       = NewBcode(http.StatusInternalServerError, 40014, "Flavor convert response error")
	ErrReadResponseBody            = NewBcode(http.StatusInternalServerError, 40015, "Failed to read response body")
	ErrReadResponseChunk           = NewBcode(http.StatusInternalServerError, 40016, "Failed to read response chunk")
	ErrInvokeServiceProvider       = NewBcode(http.StatusBadGateway, 40017, "Failed to invoke service provider")

	// New error codes
	// Service-related errors
	ErrUnsupportedServiceType = NewBcode(http.StatusNotImplemented, 40030, "Unsupported service type")
	ErrPrepareRequest         = NewBcode(http.StatusBadRequest, 40031, "Failed to prepare request")
	ErrSendRequest            = NewBcode(http.StatusBadGateway, 40032, "Failed to send request to service")
	ErrReceiveResponse        = NewBcode(http.StatusBadGateway, 40033, "Failed to receive response from service")

	// WebSocket-related errors
	ErrWebSocketUpgradeFailed   = NewBcode(http.StatusBadRequest, 40040, "Failed to upgrade connection to WebSocket")
	ErrMissingWebSocketConnID   = NewBcode(http.StatusBadRequest, 40041, "Missing WebSocket connection ID")
	ErrWebSocketMessageFormat   = NewBcode(http.StatusBadRequest, 40042, "Unrecognized WebSocket message format")
	ErrWebSocketSendMessage     = NewBcode(http.StatusInternalServerError, 40043, "Failed to send message to WebSocket client")
	ErrWebSocketSessionCreation = NewBcode(http.StatusInternalServerError, 40044, "Failed to create WebSocket session")

	// Authentication-related errors
	ErrAuthInfoParsing      = NewBcode(http.StatusBadRequest, 40050, "Failed to parse authentication information")
	ErrAuthenticationFailed = NewBcode(http.StatusUnauthorized, 40051, "Authentication failed")

	// Data processing-related errors
	ErrJSONParsing         = NewBcode(http.StatusBadRequest, 40060, "Failed to parse JSON data")
	ErrParameterValidation = NewBcode(http.StatusBadRequest, 40061, "Parameter validation failed")

	// Task processing-related errors
	ErrUnknownTaskType = NewBcode(http.StatusBadRequest, 40070, "Unknown task type")
	ErrTaskProcessing  = NewBcode(http.StatusInternalServerError, 40071, "Task processing failed")

	// GRPC-related errors
	ErrGRPCStreamSend    = NewBcode(http.StatusBadGateway, 40080, "Failed to send data to GRPC stream")
	ErrGRPCStreamReceive = NewBcode(http.StatusBadGateway, 40081, "Failed to receive data from GRPC stream")
	ErrGRPCConnection    = NewBcode(http.StatusBadGateway, 40082, "Failed to establish GRPC connection")
)
View Source
var ErrForbidden = NewBcode(HTTPStatusForbidden, HTTPStatusForbidden, "403 Forbidden")

ErrForbidden check user perms failure

View Source
var ErrNotFound = NewBcode(HTTPStatusNotFound, HTTPStatusNotFound, "404 Not Found")

ErrNotFound the request resource is not found

ErrServer an unexpected mistake.

View Source
var ErrUnauthorized = NewBcode(HTTPStatusUnauthorized, HTTPStatusUnauthorized, "401 Unauthorized")

ErrUnauthorized check user auth failure

View Source
var ErrUpstreamNotFound = NewBcode(HTTPStatusBadGateway, HTTPStatusBadGateway, "Upstream not found")

ErrUpstreamNotFound the proxy upstream is not found

View Source
var SuccessCode = NewBcode(HTTPStatusOK, HTTPStatusOK, "success")

SuccessCode a success code

Functions

func LogAndReturnError

func LogAndReturnError(bcodeErr *Bcode, originalErr error, logFields ...interface{}) error

LogAndReturnError logs the detailed error and returns it This is useful for server errors that should be logged but also returned to the client

func ReturnError

func ReturnError(c *gin.Context, err error)

ReturnError Unified handling of all types of errors, generating a standard return structure.

func ReturnHTTPError

func ReturnHTTPError(c *gin.Context, err error)

ReturnHTTPError Unified handling of all types of errors, generating a standard return structure.

func WrapError

func WrapError(bcodeErr *Bcode, originalErr error) error

WrapError wraps a Bcode error with the original error's message This preserves the error code while providing more context It also prevents error nesting if the original error is already a Bcode

Types

type Bcode

type Bcode struct {
	HTTPCode     int32  `json:"-"`
	BusinessCode int32  `json:"business_code"`
	Message      string `json:"message"`
}

Bcode business error code

func NewBcode

func NewBcode(httpCode, businessCode int32, message string) *Bcode

NewBcode new error code

func (*Bcode) Error

func (b *Bcode) Error() string

func (*Bcode) SetMessage

func (b *Bcode) SetMessage(message string) *Bcode

SetMessage set new message and return a new error instance

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL