Documentation ¶
Index ¶
- Variables
- func GetRealClientIP(r *http.Request) string
- func GetStringDefaultInt(str string, n int) int
- func MatchStar(obj, patten string) bool
- func NewLoggerFunc() erouter.Middleware
- func NewRecoverFunc() erouter.Middleware
- type CircuitBreaker
- type Cors
- type Rate
- type ResponseWriteStatuer
- type ResponseWriter
- type Route
- type State
Constants ¶
This section is empty.
Variables ¶
View Source
var ( MaxConsecutiveSuccesses uint32 = 10 MaxConsecutiveFailures uint32 = 10 // CircuitBreakerStatues 定义熔断状态字符串 StaticHtml = "" CircuitBreakerStatues = []string{"closed", "half-open", "open"} )
半开状态时最大连续失败和最大连续成功次数。
Functions ¶
func GetStringDefaultInt ¶
GetStringDefaultInt 实现字符串转换成int。
Types ¶
type CircuitBreaker ¶
type CircuitBreaker struct { Mapping map[int]string `json:"mapping"` Routes map[string]*Route `json:"routes"` OnStateChange func(string, State, State) `json:"-"` // contains filtered or unexported fields }
CircuitBreaker 定义熔断器。
func (*CircuitBreaker) InjectRoutes ¶
func (cb *CircuitBreaker) InjectRoutes(r erouter.RouterMethod) *CircuitBreaker
InjectRoutes 方法给给路由器注入熔断器的路由。
func (*CircuitBreaker) NewMiddleware ¶
func (cb *CircuitBreaker) NewMiddleware() erouter.Middleware
NewMiddleware 创建一个熔断器中间件。
type Cors ¶
type Cors struct {
// contains filtered or unexported fields
}
Cors 定义Cors对象。
func NewCors ¶
NewCors 函数创建应该Cors对象。
如果origins为空,设置为*。 如果Access-Control-Allow-Methods header为空,设置为*。
func (*Cors) NewMiddleware ¶
func (cors *Cors) NewMiddleware() erouter.Middleware
NewMiddleware 函数创建应该CORES中间件。
type Rate ¶
Rate 定义限流器
func (*Rate) AddVisitor ¶
AddVisitor Change the the map to hold values of the type visitor.
func (*Rate) GetVisitor ¶
GetVisitor 方法通过ip获得*rate.Limiter。
func (*Rate) NewMiddleware ¶
func (r *Rate) NewMiddleware() erouter.Middleware
NewMiddleware 返回一个限流处理函数。
type ResponseWriteStatuer ¶
type ResponseWriteStatuer interface { http.ResponseWriter GetStatue() int }
ResponseWriteStatuer 定义http.ResponseWriter获得状态码的接口。
type ResponseWriter ¶
type ResponseWriter struct { http.ResponseWriter // contains filtered or unexported fields }
ResponseWriter 封装http.ResponseWriter对象,用于获得写入的状态码。
func (*ResponseWriter) WriteHeader ¶
func (w *ResponseWriter) WriteHeader(statusCode int)
WriteHeader 实现http.ResponseWriter的WriteHeader方法,将响应状态码记录。
type Route ¶
type Route struct { Id int Name string State State LastTime time.Time TotalSuccesses uint64 TotalFailures uint64 ConsecutiveSuccesses uint32 ConsecutiveFailures uint32 OnStateChange func(string, State, State) `json:"-"` // contains filtered or unexported fields }
Route 定义单词路由的熔断数据。
Click to show internal directories.
Click to hide internal directories.