func NewParser(r resolver.Resolver) parser.IngressAnnotation {
	return proxy{r}
}
NewParser creates a new reverse proxy configuration annotation parser
package proxy
import (
	extensions "k8s.io/api/extensions/v1beta1"
	"github.com/NCCloud/fluid/internal/ingress/annotations/parser"
	"github.com/NCCloud/fluid/internal/ingress/resolver"
)
type Config struct {
	BodySize          string `json:"bodySize"`
	ConnectTimeout    int    `json:"connectTimeout"`
	SendTimeout       int    `json:"sendTimeout"`
	ReadTimeout       int    `json:"readTimeout"`
	BufferSize        string `json:"bufferSize"`
	CookieDomain      string `json:"cookieDomain"`
	CookiePath        string `json:"cookiePath"`
	NextUpstream      string `json:"nextUpstream"`
	ProxyRedirectFrom string `json:"proxyRedirectFrom"`
	ProxyRedirectTo   string `json:"proxyRedirectTo"`
	RequestBuffering  string `json:"requestBuffering"`
	ProxyBuffering    string `json:"proxyBuffering"`
}
func (l1 *Config) Equal(l2 *Config) bool {
	if l1 == l2 {
		return true
	}
	if l1 == nil || l2 == nil {
		return false
	}
	if l1.BodySize != l2.BodySize {
		return false
	}
	if l1.ConnectTimeout != l2.ConnectTimeout {
		return false
	}
	if l1.SendTimeout != l2.SendTimeout {
		return false
	}
	if l1.ReadTimeout != l2.ReadTimeout {
		return false
	}
	if l1.BufferSize != l2.BufferSize {
		return false
	}
	if l1.CookieDomain != l2.CookieDomain {
		return false
	}
	if l1.CookiePath != l2.CookiePath {
		return false
	}
	if l1.NextUpstream != l2.NextUpstream {
		return false
	}
	if l1.RequestBuffering != l2.RequestBuffering {
		return false
	}
	if l1.ProxyRedirectFrom != l2.ProxyRedirectFrom {
		return false
	}
	if l1.ProxyRedirectTo != l2.ProxyRedirectTo {
		return false
	}
	if l1.ProxyBuffering != l2.ProxyBuffering {
		return false
	}
	return true
}
type proxy struct {
	r resolver.Resolver
}