engine

package
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Aug 18, 2022 License: MIT Imports: 17 Imported by: 0

Documentation

Overview

Package engine

Engine for HTTP/Plnack When using engine type=plnack, Plnack data will return

innerEngine which is for service connect by tcp using RPC by plnack-proto MiddleWare中间件 支持从配置文件加载,支持通过so的plugins机制加载 MiddleWare的so库需要符合统一的入口函数,并且放置于指定的目录下lib

Package engine

Index

Constants

View Source
const (
	PLNACK_PROTO = "+plnack"
	HtmlTmpl     = "web/tmpl/**/*"
	StaticPath   = "web/static"
	TmplPath     = "web/tmpl"
)
View Source
const (
	MiddleWare  = "[MiddleWare]"
	PluginsPath = "lib"
)
View Source
const (
	GlobalMode       = "global"
	RouteMode        = "route"
	MiddleConfigRoot = "conf"
	MiddleConfigFile = "middleware.pig"
)
View Source
const (
	Stop      = syscall.SIGUSR2
	ForceStop = syscall.SIGINT
	Reload    = syscall.SIGUSR1
	APPName   = "[Apollo]"
)
View Source
const (
	ApolloAuthCode = "ApolloAuthCode"
)
View Source
const (
	KeyPlnack = "plnack"
)

Variables

View Source
var DefaultMiddleWare = []MiddleWareConfig{
	{
		Name:   "log",
		Mode:   GlobalMode,
		Active: true,
	},
	{
		Name:   "recovery",
		Mode:   GlobalMode,
		Active: true,
	},
	{
		Name:   "plnack",
		Mode:   GlobalMode,
		Active: false,
	},
	{
		Name:   "cors",
		Mode:   GlobalMode,
		Active: true,
	},
}
View Source
var MiddleWareMap = map[string]gin.HandlerFunc{
	"log":      gin.Logger(),
	"recovery": gin.Recovery(),
	"cors":     MiddleWareCors(),
	"plnack":   MiddlewarePlnack(),
}
View Source
var PreInjectMiddle []MiddleWareConfig

Functions

func MiddleWareAuth

func MiddleWareAuth() gin.HandlerFunc

MiddleWareAuth 前置用户校验 只有部分API需要校验 需要校验的接口组,单独使用此中间件

func MiddleWareCors

func MiddleWareCors() gin.HandlerFunc

func MiddlewareNoMethod

func MiddlewareNoMethod() gin.HandlerFunc

func MiddlewareNoRoute

func MiddlewareNoRoute() gin.HandlerFunc

func MiddlewarePlnack

func MiddlewarePlnack() gin.HandlerFunc

MiddlewarePlnack plnack数据编码

func RegisterSignals

func RegisterSignals(s *http.Server, sigChan chan os.Signal)

RegisterSignals 监听部分信号使用

func SaveMiddleWareConfig

func SaveMiddleWareConfig() error

SaveMiddleWareConfig 同步的保存配置

Types

type Engine

type Engine struct {
	Config *EngineConfig

	MiddleWare   []gin.HandlerFunc
	EnablePlnack bool
	HeaderMap    map[string]string
	// contains filtered or unexported fields
}

Engine 一个包含gin和plnack的引擎

func NewEngine

func NewEngine(cf *EngineConfig) *Engine

func (*Engine) DELETE

func (e *Engine) DELETE(r string, handler ...gin.HandlerFunc)

func (*Engine) GET

func (e *Engine) GET(r string, handler ...gin.HandlerFunc)

func (*Engine) GetEngine

func (e *Engine) GetEngine() *gin.Engine

GetEngine 获取内部的engine 注册路由

func (*Engine) Group

func (e *Engine) Group(r string, ware ...gin.HandlerFunc) *gin.RouterGroup

Group 生成路由分组

func (*Engine) Handle

func (e *Engine) Handle(method, r string, handler ...gin.HandlerFunc)

Handle 路由控制

func (*Engine) Init

func (e *Engine) Init()

Init 初始化全部配置 此函数应该单独执行

func (*Engine) LoadMiddleWare

func (e *Engine) LoadMiddleWare(m []gin.HandlerFunc)

LoadMiddleWare 加载中间件

func (*Engine) POST

func (e *Engine) POST(r string, handler ...gin.HandlerFunc)

func (*Engine) PUT

func (e *Engine) PUT(r string, handler ...gin.HandlerFunc)

func (*Engine) Run

func (e *Engine) Run() error

func (*Engine) RunServer

func (e *Engine) RunServer() error

func (*Engine) RunServerTLS

func (e *Engine) RunServerTLS(cert, key string) error

func (*Engine) SetHeadersMap

func (e *Engine) SetHeadersMap(m map[string]string)

SetHeadersMap 设置请求头

type EngineConfig

type EngineConfig struct {
	Host string
	Port int
}

type MiddleWareConfig

type MiddleWareConfig struct {
	Name   string   `json:"name"`
	Mode   string   `json:"mode"`
	Active bool     `json:"active"`
	Urls   []string `json:"urls"`
}

func LoadMiddleWareConfig

func LoadMiddleWareConfig() []MiddleWareConfig

LoadMiddleWareConfig 同步的加载配置

type RouterGroup

type RouterGroup gin.RouterGroup

Jump to

Keyboard shortcuts

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