handler

package
v0.0.0-...-3de209f Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2023 License: MIT Imports: 18 Imported by: 0

README

handler分为 BaseHandler BusinessHandler

  • BaseHandler负责基本的通用能力,与业务逻辑无关。如请求体解析、返回response消息体、链路标记、限流等能力
  • BusinessHandler负责处理业务逻辑

Documentation

Index

Constants

View Source
const (
	CodeSuccess int = iota
	CodeInvalidQueryParameter
	CodeProcessDataFailed
	CodeUnauthorized
	CodeForbidden
	CodeTooManyRequests
	CodeEntityNotFound
	CodeInternalServerError
)

Variables

View Source
var AnonymousUser = struct {
	Name     string
	Password string
}{
	Name:     "Anonymous",
	Password: "Anonymous",
}

AnonymousUser 给某些不需要用户登录的接口使用。如创建新用户

View Source
var GinContextKeys = struct {
	LoginUser string
	Password  string
}{
	LoginUser: "LoginUser",
	Password:  "Password",
}

GinContextKeys are keys set in gin.Context. 注意,GinContextKeys负责在gin.Context中存储数据,仅供handler之间透传使用, 而不是在gin.Context.Request.Context()中存储数据

Functions

func RegisterBusinessHandler

func RegisterBusinessHandler(handler ...BusinessHandler)

Types

type BaseHandler

type BaseHandler struct {
	APIVersion string
	log.Logger
	// contains filtered or unexported fields
}

BaseHandler 负责基本的通用能力,与业务逻辑无关。如请求体解析、返回response消息体、链路标记、限流等能力

func NewBaseHandler

func NewBaseHandler(apiVersion string, logger log.Logger, opt ...BaseHandlerOption) *BaseHandler

func (*BaseHandler) GetAPIVersion

func (h *BaseHandler) GetAPIVersion() string

GetVersion returns version

func (*BaseHandler) GlobalMiddlewares

func (h *BaseHandler) GlobalMiddlewares() []gin.HandlerFunc

func (*BaseHandler) HandleFailedResponse

func (h *BaseHandler) HandleFailedResponse(c *gin.Context, errCode int, err error)

HandleFailedResponse 发送失败数据

func (*BaseHandler) HandleSuccessResponse

func (h *BaseHandler) HandleSuccessResponse(c *gin.Context, data interface{})

HandleSuccessResponse 发送成功数据

func (*BaseHandler) Pong

func (h *BaseHandler) Pong(c *gin.Context)

Pong is default response for request ping

func (*BaseHandler) ReqRateLimit

func (h *BaseHandler) ReqRateLimit(c *gin.Context)

ReqRateLimit 用户请求限流中间件

func (*BaseHandler) SetLoginUser

func (h *BaseHandler) SetLoginUser(c *gin.Context)

func (*BaseHandler) SetTraceID

func (h *BaseHandler) SetTraceID(c *gin.Context)

SetTraceID 添加 TraceID 到 Context

func (*BaseHandler) UnmarshalPost

func (h *BaseHandler) UnmarshalPost(c *gin.Context, v interface{}) error

UnmarshalPost unmarshal struct from Post Content to data v

type BaseHandlerOption

type BaseHandlerOption func(*BaseHandler)

func WithLimitSettings

func WithLimitSettings(reqLimit, reqBurst float64) BaseHandlerOption

type BusinessHandler

type BusinessHandler interface {
	RegisterUserRequiredRoutersTo(rg *gin.RouterGroup)
	RegisterNoUserRequiredRoutersTo(rg *gin.RouterGroup)
}

func TotalBusinessHandlers

func TotalBusinessHandlers() []BusinessHandler

type SafetyDataHandler

type SafetyDataHandler struct {
	*BaseHandler
}

func NewSafetyDataHandler

func NewSafetyDataHandler(bh *BaseHandler) *SafetyDataHandler

func (*SafetyDataHandler) CreateAchive

func (s *SafetyDataHandler) CreateAchive(c *gin.Context)

func (*SafetyDataHandler) List

func (s *SafetyDataHandler) List(c *gin.Context)

func (*SafetyDataHandler) RegisterNoUserRequiredRoutersTo

func (s *SafetyDataHandler) RegisterNoUserRequiredRoutersTo(rg *gin.RouterGroup)

func (*SafetyDataHandler) RegisterUserRequiredRoutersTo

func (s *SafetyDataHandler) RegisterUserRequiredRoutersTo(rg *gin.RouterGroup)

type UserHandler

type UserHandler struct {
	*BaseHandler
}

func NewUserHandler

func NewUserHandler(bh *BaseHandler) *UserHandler

func (*UserHandler) CreateUser

func (u *UserHandler) CreateUser(c *gin.Context)

func (*UserHandler) DescribeUser

func (u *UserHandler) DescribeUser(c *gin.Context)

func (*UserHandler) RegisterNoUserRequiredRoutersTo

func (u *UserHandler) RegisterNoUserRequiredRoutersTo(rg *gin.RouterGroup)

func (*UserHandler) RegisterUserRequiredRoutersTo

func (u *UserHandler) RegisterUserRequiredRoutersTo(rg *gin.RouterGroup)

func (*UserHandler) VerifyUser

func (u *UserHandler) VerifyUser(c *gin.Context)

Jump to

Keyboard shortcuts

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