bcode

package
v0.7.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	PluginCodeSuccess = 200
	PluginCodeOK      = 0

	PluginCodeBadRequest     = 400
	PluginCodeUnauthorized   = 401
	PluginCodeNotFound       = 404
	PluginCodeTimeout        = 408
	PluginCodePrecondFailed  = 412
	PluginCodeNotImplemented = 501

	PluginCodeInternalError  = 500
	PluginCodeServiceUnavail = 503
	PluginCodeBadGateway     = 502
)

Plugin error code 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")

	ErrServiceIsInstalled = NewBcode(http.StatusBadRequest, 10020, "service is installed")
)
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")

	ErrSystemProviderCannotDelete = NewBcode(http.StatusBadRequest, 20008, "system provider cannot be deleted")
)
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")

	ErrModelSizeIsTooLarge = NewBcode(http.StatusInternalServerError, 30009, "Model size is too large")

	ErrModelStatus = NewBcode(http.StatusInternalServerError, 30010, "Model status is not correct")
)
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 (
	ProcessCode = NewBcode(http.StatusOK, 50000, "Process interface call success")

	// Engine process errors (50001-50019)
	ErrEngineNotFound       = NewBcode(http.StatusNotFound, 50001, "Engine executable not found")
	ErrEngineStartFailed    = NewBcode(http.StatusInternalServerError, 50002, "Engine failed to start")
	ErrEngineStopFailed     = NewBcode(http.StatusInternalServerError, 50003, "Engine failed to stop")
	ErrEngineNotRunning     = NewBcode(http.StatusConflict, 50004, "Engine is not running")
	ErrEngineAlreadyRunning = NewBcode(http.StatusConflict, 50005, "Engine is already running")

	// Process management errors (50020-50039)
	ErrProcessNotFound    = NewBcode(http.StatusNotFound, 50020, "Process not found")
	ErrProcessStartFailed = NewBcode(http.StatusInternalServerError, 50021, "Process failed to start")
	ErrProcessStopFailed  = NewBcode(http.StatusInternalServerError, 50022, "Process failed to stop")
	ErrProcessTimeout     = NewBcode(http.StatusRequestTimeout, 50023, "Process operation timed out")
	ErrProcessKillFailed  = NewBcode(http.StatusInternalServerError, 50024, "Process failed to kill")

	// Configuration errors (50040-50059)
	ErrInvalidProcessConfig = NewBcode(http.StatusBadRequest, 50040, "Invalid process configuration")
	ErrMissingExecutable    = NewBcode(http.StatusBadRequest, 50041, "Missing executable path")
	ErrUnsupportedPlatform  = NewBcode(http.StatusBadRequest, 50042, "Unsupported platform")

	// Service manager errors (50060-50079)
	ErrServiceNotReady = NewBcode(http.StatusServiceUnavailable, 50060, "Service manager not ready")
	ErrNoEngineStarter = NewBcode(http.StatusInternalServerError, 50061, "No engine starter available")
	ErrNoEngineStopper = NewBcode(http.StatusInternalServerError, 50062, "No engine stopper available")

	ErrEngineNotAvailable = NewBcode(http.StatusServiceUnavailable, 50063, "Engine is not available")
)
View Source
var (
	RagSuccessCode = NewBcode(http.StatusOK, 60000, "rag service interface call success")

	ErrRagBadRequest = NewBcode(http.StatusBadRequest, 60001, " bad request")

	ErrRagFileSize = NewBcode(http.StatusBadRequest, 60002, "file size too large")

	ErrRagFileType = NewBcode(http.StatusBadRequest, 60003, "Unsupported file type")

	ErrRagServerError = NewBcode(http.StatusInternalServerError, 60004, "Internal server error")

	ErrRagFileStatus = NewBcode(http.StatusBadRequest, 60005, "File status is invalid")

	ErrRagSqliteVec = NewBcode(http.StatusBadRequest, 60006, "vec db status error")

	ErrRagEmbedding = NewBcode(http.StatusBadRequest, 60007, "embedding error")

	ErrRagRetrieval = NewBcode(http.StatusBadRequest, 60008, "retrieval error")

	ErrRagAOGBaseService = NewBcode(http.StatusBadRequest, 60009, "AOG service error")
)
View Source
var (
	// Plugin Framework Success
	PluginCode = NewBcode(http.StatusOK, 100000, "Plugin operation success")

	// Plugin Framework Errors (100001-100099)
	ErrPluginNotFound    = NewBcode(http.StatusNotFound, 100001, "Plugin not found")
	ErrPluginLoadFailed  = NewBcode(http.StatusInternalServerError, 100002, "Plugin load failed")
	ErrPluginNotRunning  = NewBcode(http.StatusServiceUnavailable, 100003, "Plugin not running")
	ErrPluginInvalid     = NewBcode(http.StatusBadRequest, 100004, "Plugin configuration invalid")
	ErrPluginTimeout     = NewBcode(http.StatusRequestTimeout, 100005, "Plugin request timeout")
	ErrPluginUnavailable = NewBcode(http.StatusServiceUnavailable, 100006, "Plugin service unavailable")

	// Authentication Errors (100100-100199) - Remote Plugins
	ErrPluginAuthRequired = NewBcode(http.StatusUnauthorized, 100101, "Plugin authentication required")
	ErrPluginAuthFailed   = NewBcode(http.StatusUnauthorized, 100102, "Plugin authentication failed")
	ErrPluginAuthExpired  = NewBcode(http.StatusUnauthorized, 100103, "Plugin authentication expired")
	ErrPluginAuthInvalid  = NewBcode(http.StatusUnauthorized, 100104, "Plugin authentication invalid")

	// Engine Errors (100200-100299) - Local Plugins
	ErrPluginEngineNotInstalled = NewBcode(http.StatusPreconditionFailed, 100201, "Engine not installed")
	ErrPluginEngineStartFailed  = NewBcode(http.StatusInternalServerError, 100202, "Engine start failed")
	ErrPluginEngineStopFailed   = NewBcode(http.StatusInternalServerError, 100203, "Engine stop failed")
	ErrPluginEngineNotHealthy   = NewBcode(http.StatusServiceUnavailable, 100204, "Engine not healthy")
	ErrPluginEngineNotRunning   = NewBcode(http.StatusServiceUnavailable, 100205, "Engine not running")
	ErrPluginEngineConfigError  = NewBcode(http.StatusInternalServerError, 100206, "Engine configuration error")

	// Model Errors (100300-100399) - Local Plugins
	ErrPluginModelNotFound     = NewBcode(http.StatusNotFound, 100301, "Model not found")
	ErrPluginModelNotLoaded    = NewBcode(http.StatusPreconditionFailed, 100302, "Model not loaded")
	ErrPluginModelPullFailed   = NewBcode(http.StatusBadGateway, 100303, "Model pull failed")
	ErrPluginModelDeleteFailed = NewBcode(http.StatusInternalServerError, 100304, "Model delete failed")
	ErrPluginModelLoadFailed   = NewBcode(http.StatusInternalServerError, 100305, "Model load failed")
	ErrPluginModelUnloadFailed = NewBcode(http.StatusInternalServerError, 100306, "Model unload failed")

	// Service Invocation Errors (100400-100499)
	ErrPluginServiceError   = NewBcode(http.StatusBadGateway, 100401, "Plugin service error")
	ErrPluginMethodNotFound = NewBcode(http.StatusNotImplemented, 100402, "Plugin method not implemented")
	ErrPluginBadRequest     = NewBcode(http.StatusBadRequest, 100403, "Plugin bad request")
	ErrPluginInternalError  = NewBcode(http.StatusInternalServerError, 100404, "Plugin internal error")
)
View Source
var ConsoleCode = NewBcode(http.StatusOK, 90000, "control panel interface call success")
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 HealthCode = NewBcode(http.StatusOK, 80000, "health interface call success")

PluginCodeToBcode maps plugin error codes to Bcode.

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

SuccessCode a success code

View Source
var VersionCode = NewBcode(http.StatusOK, 70000, "version interface call success")

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 ConvertPluginCodeToBcode added in v0.7.0

func ConvertPluginCodeToBcode(code int32, message string) *Bcode

ConvertPluginCodeToBcode converts plugin error codes to Bcode.

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