middleware

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Mar 14, 2025 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AIProxyChannelHeader = "Aiproxy-Channel"
)
View Source
const (
	ErrorTypeAIPROXY = "aiproxy_error"
)
View Source
const (
	GroupBalanceNotEnough = "group_balance_not_enough"
)

Variables

View Source
var (
	ErrRequestRateLimitExceeded = errors.New("request rate limit exceeded, please try again later")
	ErrRequestTpmLimitExceeded  = errors.New("request tpm limit exceeded, please try again later")
)

Functions

func AdminAuth

func AdminAuth(c *gin.Context)

func CORS

func CORS() gin.HandlerFunc

func ErrorResponse

func ErrorResponse(c *gin.Context, code int, message string)

func GenRequestID

func GenRequestID() string

func GetChannel added in v0.1.1

func GetChannel(c *gin.Context) *model.Channel

func GetGroup

func GetGroup(c *gin.Context) *model.GroupCache

func GetGroupAdjustedModelConfig

func GetGroupAdjustedModelConfig(group *model.GroupCache, mc *model.ModelConfig) *model.ModelConfig

func GetLogger

func GetLogger(c *gin.Context) *logrus.Entry

func GetModelCaches

func GetModelCaches(c *gin.Context) *model.ModelCaches

func GetModelConfig

func GetModelConfig(c *gin.Context) *model.ModelConfig

func GetModelFromJSON

func GetModelFromJSON(body []byte) (string, error)

func GetOriginalModel

func GetOriginalModel(c *gin.Context) string

func GetRequestID

func GetRequestID(c *gin.Context) string

func GetToken

func GetToken(c *gin.Context) *model.TokenCache

func MessageWithRequestID

func MessageWithRequestID(c *gin.Context, message string) string

func NewDistribute

func NewDistribute(mode relaymode.Mode) gin.HandlerFunc

func NewLog

func NewLog(l *logrus.Logger) gin.HandlerFunc

func NewLogger

func NewLogger() *logrus.Entry

func NewMetaByContext

func NewMetaByContext(c *gin.Context,
	channel *model.Channel,
	modelName string,
	mode relaymode.Mode,
	opts ...meta.Option,
) *meta.Meta

func RequestID

func RequestID(c *gin.Context)

func SetLogActualModelFields

func SetLogActualModelFields(fields logrus.Fields, actualModel string)

func SetLogChannelFields

func SetLogChannelFields(fields logrus.Fields, channel *meta.ChannelMeta)

func SetLogFieldsFromMeta

func SetLogFieldsFromMeta(m *meta.Meta, fields logrus.Fields)

func SetLogGroupFields

func SetLogGroupFields(fields logrus.Fields, group *model.GroupCache)

func SetLogIsChannelTestField

func SetLogIsChannelTestField(fields logrus.Fields, isChannelTest bool)

func SetLogModeField

func SetLogModeField(fields logrus.Fields, mode relaymode.Mode)

func SetLogModelFields

func SetLogModelFields(fields logrus.Fields, model string)

func SetLogRequestIDField

func SetLogRequestIDField(fields logrus.Fields, requestID string)

func SetLogTokenFields

func SetLogTokenFields(fields logrus.Fields, token *model.TokenCache, internal bool)

func SetRequestID

func SetRequestID(c *gin.Context, id string)

func SuccessResponse

func SuccessResponse(c *gin.Context, data any)

func TokenAuth

func TokenAuth(c *gin.Context)

Types

type APIResponse

type APIResponse struct {
	Data    any    `json:"data,omitempty"`
	Message string `json:"message,omitempty"`
	Success bool   `json:"success"`
}

type GroupBalanceConsumer

type GroupBalanceConsumer struct {
	GroupBalance float64
	Consumer     balance.PostGroupConsumer
}

func GetGroupBalanceConsumer

func GetGroupBalanceConsumer(c *gin.Context, group *model.GroupCache) (*GroupBalanceConsumer, error)

func GetGroupBalanceConsumerFromContext

func GetGroupBalanceConsumerFromContext(c *gin.Context) *GroupBalanceConsumer

type ModelRequest

type ModelRequest struct {
	Model string `form:"model" json:"model"`
}

Jump to

Keyboard shortcuts

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