Documentation ¶
Index ¶
- Constants
- func GetServiceInfoFromUserValue(ctx *fasthttp.RequestCtx, key string) (*route.ServiceInfo, bool)
- func GetStringFromUserValue(ctx *fasthttp.RequestCtx, key string) string
- func InitGogate(gogateConfigFile string)
- func RateLimitPreFilter(s *Server, ctx *fasthttp.RequestCtx, newRequest *fasthttp.Request) bool
- func ServiceMatchPreFilter(s *Server, ctx *fasthttp.RequestCtx, newRequest *fasthttp.Request) bool
- func UrlRewritePreFilter(s *Server, ctx *fasthttp.RequestCtx, newRequest *fasthttp.Request) bool
- type GogateResponse
- type PostFilter
- type PostFilterFunc
- type PreFilter
- type PreFilterFunc
- type RateLimiterSyncMap
- type Server
- func (serv *Server) AppendPostFilter(post *PostFilter)
- func (serv *Server) AppendPreFilter(pre *PreFilter)
- func (serv *Server) ExportAllPostFilters() []*PostFilter
- func (serv *Server) ExportAllPreFilters() []*PreFilter
- func (serv *Server) HandleRequest(ctx *fasthttp.RequestCtx)
- func (serv *Server) InsertPostFilterAhead(filter *PostFilter)
- func (serv *Server) InsertPostFilterBehind(filterName string, filter *PostFilter) bool
- func (serv *Server) InsertPreFilterAhead(filter *PreFilter)
- func (serv *Server) InsertPreFilterBehind(filterName string, filter *PreFilter) bool
- func (serv *Server) IsInStaticMode() bool
- func (serv *Server) ReloadRoute() error
- func (serv *Server) Shutdown() error
- func (serv *Server) Start() error
Constants ¶
View Source
const ( SERVICE_NAME = "key_service_name" REQUEST_PATH = "key_request_path" ROUTE_INFO = "key_route_info" RELOAD_PATH = "/_mgr/reload" )
View Source
const (
// 默认最大连接数
MAX_CONNECTION = 5000
)
View Source
const META_VERSION = "version"
Variables ¶
This section is empty.
Functions ¶
func GetServiceInfoFromUserValue ¶
func GetServiceInfoFromUserValue(ctx *fasthttp.RequestCtx, key string) (*route.ServiceInfo, bool)
从请求上下文中取出*ServiceInfo
func GetStringFromUserValue ¶
func GetStringFromUserValue(ctx *fasthttp.RequestCtx, key string) string
从请求上下文中取出string
func InitGogate ¶
func InitGogate(gogateConfigFile string)
func RateLimitPreFilter ¶
控制QPS的前置过虑器
func ServiceMatchPreFilter ¶
func UrlRewritePreFilter ¶
Types ¶
type GogateResponse ¶
func NewResponse ¶
func NewResponse(path, msg string) *GogateResponse
func (*GogateResponse) Send ¶
func (resp *GogateResponse) Send(ctx *fasthttp.RequestCtx)
func (*GogateResponse) SendWithStatus ¶
func (resp *GogateResponse) SendWithStatus(ctx *fasthttp.RequestCtx, statusCode int)
func (*GogateResponse) ToJson ¶
func (resp *GogateResponse) ToJson() string
func (*GogateResponse) ToJsonBytes ¶
func (resp *GogateResponse) ToJsonBytes() []byte
type PostFilter ¶
type PostFilter struct { FilterFunc PostFilterFunc Name string }
后置过滤器对象
func NewPostFilter ¶
func NewPostFilter(name string, filter PostFilterFunc) *PostFilter
func (*PostFilter) String ¶
func (pf *PostFilter) String() string
type PostFilterFunc ¶
后置过滤器函数
type PreFilter ¶
type PreFilter struct { FilterFunc PreFilterFunc Name string }
前置过滤器对象
func NewPreFilter ¶
func NewPreFilter(name string, filter PreFilterFunc) *PreFilter
type PreFilterFunc ¶
type PreFilterFunc func(server *Server, ctx *fasthttp.RequestCtx, newRequest *fasthttp.Request) bool
前置过滤器函数
type RateLimiterSyncMap ¶
type RateLimiterSyncMap struct {
// contains filtered or unexported fields
}
封装sync.map, 提供类型安全的方法调用
func NewRateLimiterSyncMap ¶
func NewRateLimiterSyncMap() *RateLimiterSyncMap
func (*RateLimiterSyncMap) Get ¶
func (rsm *RateLimiterSyncMap) Get(key string) (throttle.RateLimiter, bool)
func (*RateLimiterSyncMap) Put ¶
func (rsm *RateLimiterSyncMap) Put(key string, val throttle.RateLimiter)
type Server ¶
func NewGatewayServer ¶
* 创建网关服务对象 * * PARAMS: * - host: 主机名(ip) * - port: 端口 * - routePath: 路由配置文件路径 * - maxConn: 最大连接数, 0表示使用默认值 *
func (*Server) AppendPostFilter ¶
func (serv *Server) AppendPostFilter(post *PostFilter)
注册过滤器, 追加到末尾
func (*Server) ExportAllPostFilters ¶
func (serv *Server) ExportAllPostFilters() []*PostFilter
导出所有后置过滤器
func (*Server) ExportAllPreFilters ¶
导出所有前置过滤器
func (*Server) HandleRequest ¶
func (serv *Server) HandleRequest(ctx *fasthttp.RequestCtx)
HTTP请求处理方法.
func (*Server) InsertPostFilterAhead ¶
func (serv *Server) InsertPostFilterAhead(filter *PostFilter)
在最头部添加后置过滤器
func (*Server) InsertPostFilterBehind ¶
func (serv *Server) InsertPostFilterBehind(filterName string, filter *PostFilter) bool
在指定后置过滤器的后面添加; filterName: 在此过滤器后面添加filter, 如果要在队头添加, 则使用空字符串 filter: 过滤器对象
func (*Server) InsertPreFilterAhead ¶
在最头部添加前置过滤器
func (*Server) InsertPreFilterBehind ¶
在指定前置过滤器的后面添加
func (*Server) IsInStaticMode ¶ added in v1.3.0
Source Files ¶
Click to show internal directories.
Click to hide internal directories.