Documentation ¶
Index ¶
- Constants
- func NewHttpRegister()
- func NoopFilter(controller *GRegisterController, f HandleFunc) (err error)
- func RegisterRouter(path string, r *mux.Router, handler func(*GRegisterController) error, ...)
- func RegisterRspPackage(rspUserImplPackageFactory RspPackageFactory)
- func RegisterWSRouter(path string, r *mux.Router, handler func(*GRegisterWSController))
- type Chain
- type DefaultRspPackage
- type Filter
- type FomattedRspPackage
- type GRegisterController
- type GRegisterWSController
- type HandleFunc
- type ResultAndOKRspPackage
- type RspPackage
- type RspPackageFactory
Constants ¶
View Source
const ( UnsetHttpCode = httpCode(0) DefaultHttpSuccessCode = httpCode(200) DefaultHttpErrorCode = httpCode(500) )
Variables ¶
This section is empty.
Functions ¶
func NewHttpRegister ¶
func NewHttpRegister()
func NoopFilter ¶
func NoopFilter(controller *GRegisterController, f HandleFunc) (err error)
NoopFilter 空Filter实现
func RegisterRouter ¶
func RegisterRouter(path string, r *mux.Router, handler func(*GRegisterController) error, req, rsp interface{}, method string, filters []Filter)
入口函数
func RegisterRspPackage ¶
func RegisterRspPackage(rspUserImplPackageFactory RspPackageFactory)
自定义回包函数
func RegisterWSRouter ¶
func RegisterWSRouter(path string, r *mux.Router, handler func(*GRegisterWSController))
Types ¶
type Chain ¶
type Chain []Filter
Chain 链式过滤器
func (*Chain) Handle ¶
func (fc *Chain) Handle(controller *GRegisterController, f HandleFunc) (err error)
Handle 链式过滤器递归处理流程
type DefaultRspPackage ¶
type DefaultRspPackage struct { }
func (*DefaultRspPackage) SetErrorPkg ¶
func (rpkg *DefaultRspPackage) SetErrorPkg(w http.ResponseWriter, err error, retCode httpCode)
func (*DefaultRspPackage) SetSuccessPkg ¶
func (rpkg *DefaultRspPackage) SetSuccessPkg(w http.ResponseWriter, result interface{}, retCode httpCode)
type Filter ¶
type Filter func(controller *GRegisterController, f HandleFunc) (err error)
Filter 过滤器(拦截器),根据dispatch处理流程进行上下文拦截处理
type FomattedRspPackage ¶
type FomattedRspPackage struct { Retcode int32 `json:"retcode"` Retmsg string `json:"retmsg"` Result interface{} `json:"result"` }
FomattedRspPackage 框架提供的格式化回包,包含三个字段,与下面的 DefaultRspPackage 选择使用
func (*FomattedRspPackage) SetErrorPkg ¶
func (rpkg *FomattedRspPackage) SetErrorPkg(w http.ResponseWriter, err error, retCode httpCode)
func (*FomattedRspPackage) SetSuccessPkg ¶
func (rpkg *FomattedRspPackage) SetSuccessPkg(w http.ResponseWriter, result interface{}, retCode httpCode)
type GRegisterController ¶
type GRegisterController struct { // Req 存放请求的数据 Req interface{} // Rsp 用来设置回包 Rsp interface{} // R 暴露 http.Request R *http.Request // W 暴露 http.ResponseWriter W http.ResponseWriter // VarsMap url 变量 VarsMap map[string]string // RspCode 返回http状态码,不设则使用默认成功、失败状态码 RspCode httpCode // IfNeedWrite 为false时,框架将不会向 http.ResponseWriter中写入值,用户需自主完成返回值的写入 // 默认为true IfNeedWrite bool }
func (*GRegisterController) GetReqData ¶
func (trc *GRegisterController) GetReqData(r *http.Request) error
获取请求参数并进行参数校验
func (*GRegisterController) Key ¶
func (trc *GRegisterController) Key() string
Key is made of $(path)_$(method)
type GRegisterWSController ¶
type HandleFunc ¶
type HandleFunc func(controller *GRegisterController) (err error)
HandleFunc 业务处理函数接口
type ResultAndOKRspPackage ¶
type ResultAndOKRspPackage struct { Result interface{} `json:"result"` OK bool `json:"ok"` }
ResultAndOKRspPackage contains ok and result
func (*ResultAndOKRspPackage) SetErrorPkg ¶
func (rpkg *ResultAndOKRspPackage) SetErrorPkg(w http.ResponseWriter, err error, retCode httpCode)
func (*ResultAndOKRspPackage) SetSuccessPkg ¶
func (rpkg *ResultAndOKRspPackage) SetSuccessPkg(w http.ResponseWriter, result interface{}, retCode httpCode)
type RspPackage ¶
type RspPackage interface { SetSuccessPkg(w http.ResponseWriter, msg interface{}, retCode httpCode) // 成功回包 SetErrorPkg(w http.ResponseWriter, err error, retCode httpCode) // 错误回包 }
func NewDefaultRspPackage ¶
func NewDefaultRspPackage() RspPackage
func NewFomattedRspPackage ¶
func NewFomattedRspPackage() RspPackage
func NewResultAndOKRspPackage ¶
func NewResultAndOKRspPackage() RspPackage
type RspPackageFactory ¶
type RspPackageFactory func() RspPackage
Click to show internal directories.
Click to hide internal directories.