mirror of
https://github.com/eolinker/apinto
synced 2025-10-21 15:59:27 +08:00
删除所有插件实例配置里的无用字段
This commit is contained in:
@@ -14,7 +14,6 @@ var _ http_service.IFilter = (*Auth)(nil)
|
||||
type Auth struct {
|
||||
*Driver
|
||||
id string
|
||||
name string
|
||||
auths []auth.IAuth
|
||||
}
|
||||
|
||||
|
@@ -4,8 +4,8 @@ import (
|
||||
"fmt"
|
||||
"reflect"
|
||||
|
||||
"github.com/eolinker/eosc"
|
||||
"github.com/eolinker/apinto/auth"
|
||||
"github.com/eolinker/eosc"
|
||||
)
|
||||
|
||||
type Driver struct {
|
||||
@@ -62,7 +62,6 @@ func (d *Driver) Create(id, name string, v interface{}, workers map[eosc.Require
|
||||
au := &Auth{
|
||||
Driver: d,
|
||||
id: id,
|
||||
name: name,
|
||||
auths: list,
|
||||
}
|
||||
|
||||
|
@@ -11,7 +11,6 @@ import (
|
||||
type CircuitBreaker struct {
|
||||
*Driver
|
||||
id string
|
||||
name string
|
||||
counter *circuitCount
|
||||
conf *Config
|
||||
}
|
||||
|
@@ -46,11 +46,10 @@ func (d *Driver) Create(id, name string, v interface{}, workers map[eosc.Require
|
||||
}
|
||||
|
||||
cb := &CircuitBreaker{
|
||||
d,
|
||||
id,
|
||||
name,
|
||||
newCircuitCount(),
|
||||
conf,
|
||||
Driver: d,
|
||||
id: id,
|
||||
counter: newCircuitCount(),
|
||||
conf: conf,
|
||||
}
|
||||
|
||||
return cb, nil
|
||||
|
@@ -11,15 +11,14 @@ import (
|
||||
|
||||
type CorsFilter struct {
|
||||
*Driver
|
||||
id string
|
||||
name string
|
||||
responseType string
|
||||
id string
|
||||
responseType string
|
||||
allowCredentials bool
|
||||
option optionHandler
|
||||
originChecker *Checker
|
||||
methodChecker *Checker
|
||||
headerChecker *Checker
|
||||
exposeChecker *Checker
|
||||
option optionHandler
|
||||
originChecker *Checker
|
||||
methodChecker *Checker
|
||||
headerChecker *Checker
|
||||
exposeChecker *Checker
|
||||
}
|
||||
|
||||
func (c *CorsFilter) DoFilter(ctx http_service.IHttpContext, next http_service.IChain) (err error) {
|
||||
@@ -54,7 +53,7 @@ func (c *CorsFilter) doOption(ctx http_service.IHttpContext) error {
|
||||
return c.option(ctx)
|
||||
}
|
||||
|
||||
func (c *CorsFilter) doNext(ctx http_service.IHttpContext) {
|
||||
func (c *CorsFilter) doNext(ctx http_service.IHttpContext) {
|
||||
// 验证响应头部是否在expose-headers中
|
||||
for key := range ctx.Response().Headers() {
|
||||
if !c.exposeChecker.Check(key, true) {
|
||||
@@ -98,7 +97,7 @@ func (c *CorsFilter) doFilter(ctx http_service.IHttpContext) error {
|
||||
if !c.allowCredentials {
|
||||
cookie := ctx.Request().Header().GetHeader("Cookie")
|
||||
if cookie != "" {
|
||||
ctx.Proxy().Header().DelHeader("Cookie")
|
||||
ctx.Proxy().Header().DelHeader("Cookie")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@@ -141,7 +140,7 @@ func (c *CorsFilter) CheckSkill(skill string) bool {
|
||||
}
|
||||
|
||||
// WriteHeader CORS响应告诉本服务的规则
|
||||
func (c *CorsFilter) WriteHeader(ctx http_service.IHttpContext) {
|
||||
func (c *CorsFilter) WriteHeader(ctx http_service.IHttpContext) {
|
||||
resp := ctx.Response()
|
||||
c.writeHeader(resp, c.originChecker)
|
||||
c.writeHeader(resp, c.headerChecker)
|
||||
@@ -149,7 +148,7 @@ func (c *CorsFilter) WriteHeader(ctx http_service.IHttpContext) {
|
||||
c.writeHeader(resp, c.exposeChecker)
|
||||
resp.SetHeader("Access-Control-Allow-Credentials", strconv.FormatBool(c.allowCredentials))
|
||||
}
|
||||
func (c *CorsFilter) writeHeader(resp http_service.IResponse, h IHeader, ) {
|
||||
func (c *CorsFilter) writeHeader(resp http_service.IResponse, h IHeader) {
|
||||
resp.SetHeader(h.GetKey(), h.GetOrigin())
|
||||
}
|
||||
|
||||
|
@@ -40,18 +40,15 @@ func (d *Driver) Create(id, name string, v interface{}, workers map[eosc.Require
|
||||
return nil, err
|
||||
}
|
||||
c := &CorsFilter{
|
||||
Driver: d,
|
||||
id: id,
|
||||
name: name,
|
||||
option: conf.genOptionHandler(),
|
||||
originChecker: NewChecker(conf.AllowOrigins, "Access-Control-Allow-Origin"),
|
||||
methodChecker: NewChecker(conf.AllowMethods, "Access-Control-Allow-Methods"),
|
||||
headerChecker: NewChecker(conf.AllowHeaders, "Access-Control-Allow-Headers"),
|
||||
exposeChecker: NewChecker(conf.ExposeHeaders, "Access-Control-Expose-Headers"),
|
||||
responseType: conf.ResponseType,
|
||||
Driver: d,
|
||||
id: id,
|
||||
option: conf.genOptionHandler(),
|
||||
originChecker: NewChecker(conf.AllowOrigins, "Access-Control-Allow-Origin"),
|
||||
methodChecker: NewChecker(conf.AllowMethods, "Access-Control-Allow-Methods"),
|
||||
headerChecker: NewChecker(conf.AllowHeaders, "Access-Control-Allow-Headers"),
|
||||
exposeChecker: NewChecker(conf.ExposeHeaders, "Access-Control-Expose-Headers"),
|
||||
responseType: conf.ResponseType,
|
||||
allowCredentials: conf.AllowCredentials,
|
||||
}
|
||||
return c, nil
|
||||
}
|
||||
|
||||
|
||||
|
@@ -48,7 +48,6 @@ func (d *Driver) Create(id, name string, v interface{}, workers map[eosc.Require
|
||||
ep := &ExtraParams{
|
||||
Driver: d,
|
||||
id: id,
|
||||
name: name,
|
||||
params: conf.Params,
|
||||
errorType: conf.ErrorType,
|
||||
}
|
||||
|
@@ -14,7 +14,6 @@ var _ http_service.IFilter = (*ExtraParams)(nil)
|
||||
type ExtraParams struct {
|
||||
*Driver
|
||||
id string
|
||||
name string
|
||||
params []*ExtraParam
|
||||
errorType string
|
||||
}
|
||||
|
@@ -13,7 +13,6 @@ type Driver struct {
|
||||
configType reflect.Type
|
||||
}
|
||||
|
||||
|
||||
func (d *Driver) Check(v interface{}, workers map[eosc.RequireId]interface{}) error {
|
||||
_, err := d.check(v)
|
||||
return err
|
||||
@@ -43,8 +42,7 @@ func (d *Driver) Create(id, name string, v interface{}, workers map[eosc.Require
|
||||
c := &Gzip{
|
||||
Driver: d,
|
||||
id: id,
|
||||
name: name,
|
||||
conf: conf,
|
||||
conf: conf,
|
||||
}
|
||||
return c, nil
|
||||
}
|
||||
}
|
||||
|
@@ -11,7 +11,6 @@ import (
|
||||
type Gzip struct {
|
||||
*Driver
|
||||
id string
|
||||
name string
|
||||
conf *Config
|
||||
}
|
||||
|
||||
@@ -20,7 +19,7 @@ func (g *Gzip) DoFilter(ctx http_service.IHttpContext, next http_service.IChain)
|
||||
if next != nil {
|
||||
err = next.DoChain(ctx)
|
||||
}
|
||||
if err == nil && strings.Contains(head,"gzip") {
|
||||
if err == nil && strings.Contains(head, "gzip") {
|
||||
err = g.doCompress(ctx)
|
||||
}
|
||||
return
|
||||
@@ -37,7 +36,7 @@ func (g *Gzip) doCompress(ctx http_service.IHttpContext) error {
|
||||
contentType := resp.GetHeader("Content-Type")
|
||||
if len(g.conf.Types) == 0 {
|
||||
flag = true
|
||||
}else {
|
||||
} else {
|
||||
for _, t := range g.conf.Types {
|
||||
if strings.Contains(contentType, t) {
|
||||
flag = true
|
||||
@@ -53,7 +52,7 @@ func (g *Gzip) doCompress(ctx http_service.IHttpContext) error {
|
||||
resp.SetBody(res)
|
||||
resp.SetHeader("Content-Encoding", "gzip")
|
||||
if g.conf.Vary {
|
||||
resp.SetHeader("Vary","Accept-Encoding")
|
||||
resp.SetHeader("Vary", "Accept-Encoding")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@@ -104,4 +103,3 @@ func (g *Gzip) Stop() error {
|
||||
func (g *Gzip) CheckSkill(skill string) bool {
|
||||
return http_service.FilterSkillName == skill
|
||||
}
|
||||
|
||||
|
@@ -42,14 +42,10 @@ func (d *Driver) Create(id, name string, v interface{}, workers map[eosc.Require
|
||||
return nil, err
|
||||
}
|
||||
h := &IPHandler{
|
||||
Driver: d,
|
||||
id: id,
|
||||
name: name,
|
||||
filter: conf.genFilter(),
|
||||
Driver: d,
|
||||
id: id,
|
||||
filter: conf.genFilter(),
|
||||
responseType: conf.ResponseType,
|
||||
}
|
||||
return h, nil
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@@ -8,16 +8,15 @@ import (
|
||||
|
||||
type IPHandler struct {
|
||||
*Driver
|
||||
id string
|
||||
name string
|
||||
id string
|
||||
responseType string
|
||||
filter IPFilter
|
||||
filter IPFilter
|
||||
}
|
||||
|
||||
func (I *IPHandler) doRestriction(ctx http_service.IHttpContext) error {
|
||||
realIP := ctx.Request().ReadIP()
|
||||
if I.filter != nil {
|
||||
ok, err := I.filter(realIP)
|
||||
ok, err := I.filter(realIP)
|
||||
if !ok {
|
||||
return err
|
||||
}
|
||||
|
@@ -49,7 +49,6 @@ func (d *Driver) Create(id, name string, v interface{}, workers map[eosc.Require
|
||||
ep := &ParamsTransformer{
|
||||
Driver: d,
|
||||
id: id,
|
||||
name: name,
|
||||
params: conf.Params,
|
||||
remove: conf.Remove,
|
||||
errorType: conf.ErrorType,
|
||||
|
@@ -14,7 +14,6 @@ var _ http_service.IFilter = (*ParamsTransformer)(nil)
|
||||
type ParamsTransformer struct {
|
||||
*Driver
|
||||
id string
|
||||
name string
|
||||
params []*TransParam
|
||||
remove bool
|
||||
errorType string
|
||||
|
@@ -50,7 +50,6 @@ func (d *Driver) Create(id, name string, v interface{}, workers map[eosc.Require
|
||||
pw := &ProxyRewrite{
|
||||
Driver: d,
|
||||
id: id,
|
||||
name: name,
|
||||
scheme: conf.Scheme,
|
||||
uri: conf.URI,
|
||||
regexURI: conf.RegexURI,
|
||||
|
@@ -13,7 +13,6 @@ var _ http_service.IFilter = (*ProxyRewrite)(nil)
|
||||
type ProxyRewrite struct {
|
||||
*Driver
|
||||
id string
|
||||
name string
|
||||
scheme string
|
||||
uri string
|
||||
regexURI []string
|
||||
|
@@ -38,12 +38,11 @@ func (d *Driver) Create(id, name string, v interface{}, workers map[eosc.Require
|
||||
return nil, err
|
||||
}
|
||||
l := &RateLimiting{
|
||||
Driver: d,
|
||||
id: id,
|
||||
name: name,
|
||||
rateInfo: CreateRateInfo(conf),
|
||||
Driver: d,
|
||||
id: id,
|
||||
rateInfo: CreateRateInfo(conf),
|
||||
hideClientHeader: conf.HideClientHeader,
|
||||
responseType: conf.ResponseType,
|
||||
responseType: conf.ResponseType,
|
||||
}
|
||||
return l, nil
|
||||
}
|
||||
|
@@ -18,14 +18,11 @@ const (
|
||||
type RateLimiting struct {
|
||||
*Driver
|
||||
id string
|
||||
name string
|
||||
rateInfo *rateInfo
|
||||
hideClientHeader bool
|
||||
responseType string
|
||||
}
|
||||
|
||||
|
||||
|
||||
func (r *RateLimiting) doLimit() (bool, string, int) {
|
||||
info := r.rateInfo
|
||||
if info == nil {
|
||||
@@ -145,6 +142,6 @@ func (r *RateLimiting) addRateHeader(ctx http_service.IHttpContext, rateType str
|
||||
}
|
||||
resp := ctx.Response()
|
||||
resp.SetHeader(fmt.Sprintf("X-RateLimit-Limit-%s", rateType), strconv.FormatInt(rate.limitCount, 10))
|
||||
resp.SetHeader(fmt.Sprintf("X-RateLimit-Remaining-%s", rateType), strconv.FormatInt(rate.limitCount- rate.requestCount, 10))
|
||||
resp.SetHeader(fmt.Sprintf("X-RateLimit-Remaining-%s", rateType), strconv.FormatInt(rate.limitCount-rate.requestCount, 10))
|
||||
return
|
||||
}
|
||||
|
@@ -1,8 +1,8 @@
|
||||
package response_rewrite
|
||||
|
||||
import (
|
||||
"github.com/eolinker/eosc"
|
||||
"github.com/eolinker/apinto/utils"
|
||||
"github.com/eolinker/eosc"
|
||||
"reflect"
|
||||
)
|
||||
|
||||
@@ -55,13 +55,12 @@ func (d *Driver) Create(id, name string, v interface{}, workers map[eosc.Require
|
||||
}
|
||||
|
||||
r := &ResponseRewrite{
|
||||
d,
|
||||
id,
|
||||
name,
|
||||
conf.StatusCode,
|
||||
conf.Body,
|
||||
conf.Headers,
|
||||
conf.Match,
|
||||
Driver: d,
|
||||
id: id,
|
||||
statusCode: conf.StatusCode,
|
||||
body: conf.Body,
|
||||
headers: conf.Headers,
|
||||
match: conf.Match,
|
||||
}
|
||||
|
||||
return r, nil
|
||||
|
@@ -3,15 +3,14 @@ package response_rewrite
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"github.com/eolinker/apinto/utils"
|
||||
"github.com/eolinker/eosc"
|
||||
http_service "github.com/eolinker/eosc/http-service"
|
||||
"github.com/eolinker/apinto/utils"
|
||||
)
|
||||
|
||||
type ResponseRewrite struct {
|
||||
*Driver
|
||||
id string
|
||||
name string
|
||||
statusCode int
|
||||
body string
|
||||
headers map[string]string
|
||||
|
@@ -42,7 +42,6 @@ func (d *Driver) Create(id, name string, v interface{}, workers map[eosc.Require
|
||||
rw := &Rewrite{
|
||||
Driver: d,
|
||||
id: id,
|
||||
name: name,
|
||||
path: conf.ReWriteUrl,
|
||||
}
|
||||
|
||||
|
@@ -6,9 +6,9 @@ import (
|
||||
|
||||
"github.com/eolinker/apinto/checker"
|
||||
|
||||
"github.com/eolinker/apinto/service"
|
||||
"github.com/eolinker/eosc"
|
||||
http_service "github.com/eolinker/eosc/http-service"
|
||||
"github.com/eolinker/apinto/service"
|
||||
)
|
||||
|
||||
var _ http_service.IFilter = (*Rewrite)(nil)
|
||||
@@ -16,7 +16,6 @@ var _ http_service.IFilter = (*Rewrite)(nil)
|
||||
type Rewrite struct {
|
||||
*Driver
|
||||
id string
|
||||
name string
|
||||
path string
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user