删除所有插件实例配置里的无用字段

This commit is contained in:
chenjiekun
2022-06-13 11:57:41 +08:00
parent c55463d9fb
commit 37d67de7cd
22 changed files with 49 additions and 80 deletions

View File

@@ -14,7 +14,6 @@ var _ http_service.IFilter = (*Auth)(nil)
type Auth struct {
*Driver
id string
name string
auths []auth.IAuth
}

View File

@@ -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,
}

View File

@@ -11,7 +11,6 @@ import (
type CircuitBreaker struct {
*Driver
id string
name string
counter *circuitCount
conf *Config
}

View File

@@ -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

View File

@@ -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())
}

View File

@@ -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
}

View File

@@ -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,
}

View File

@@ -14,7 +14,6 @@ var _ http_service.IFilter = (*ExtraParams)(nil)
type ExtraParams struct {
*Driver
id string
name string
params []*ExtraParam
errorType string
}

View File

@@ -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
}
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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,

View File

@@ -14,7 +14,6 @@ var _ http_service.IFilter = (*ParamsTransformer)(nil)
type ParamsTransformer struct {
*Driver
id string
name string
params []*TransParam
remove bool
errorType string

View File

@@ -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,

View File

@@ -13,7 +13,6 @@ var _ http_service.IFilter = (*ProxyRewrite)(nil)
type ProxyRewrite struct {
*Driver
id string
name string
scheme string
uri string
regexURI []string

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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

View File

@@ -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

View File

@@ -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,
}

View File

@@ -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
}