Update oxy dependency
This commit is contained in:
parent
d81c4e6d1a
commit
07be89d6e9
31 changed files with 636 additions and 195 deletions
39
vendor/github.com/vulcand/oxy/cbreaker/fallback.go
generated
vendored
39
vendor/github.com/vulcand/oxy/cbreaker/fallback.go
generated
vendored
|
@ -10,26 +10,36 @@ import (
|
|||
"github.com/vulcand/oxy/utils"
|
||||
)
|
||||
|
||||
// Response response model
|
||||
type Response struct {
|
||||
StatusCode int
|
||||
ContentType string
|
||||
Body []byte
|
||||
}
|
||||
|
||||
// ResponseFallback fallback response handler
|
||||
type ResponseFallback struct {
|
||||
r Response
|
||||
|
||||
log *log.Logger
|
||||
}
|
||||
|
||||
func NewResponseFallback(r Response) (*ResponseFallback, error) {
|
||||
// NewResponseFallbackWithLogger creates a new ResponseFallback
|
||||
func NewResponseFallbackWithLogger(r Response, l *log.Logger) (*ResponseFallback, error) {
|
||||
if r.StatusCode == 0 {
|
||||
return nil, fmt.Errorf("response code should not be 0")
|
||||
}
|
||||
return &ResponseFallback{r: r}, nil
|
||||
return &ResponseFallback{r: r, log: l}, nil
|
||||
}
|
||||
|
||||
// NewResponseFallback creates a new ResponseFallback
|
||||
func NewResponseFallback(r Response) (*ResponseFallback, error) {
|
||||
return NewResponseFallbackWithLogger(r, log.StandardLogger())
|
||||
}
|
||||
|
||||
func (f *ResponseFallback) ServeHTTP(w http.ResponseWriter, req *http.Request) {
|
||||
if log.GetLevel() >= log.DebugLevel {
|
||||
logEntry := log.WithField("Request", utils.DumpHttpRequest(req))
|
||||
if f.log.Level >= log.DebugLevel {
|
||||
logEntry := f.log.WithField("Request", utils.DumpHttpRequest(req))
|
||||
logEntry.Debug("vulcand/oxy/fallback/response: begin ServeHttp on request")
|
||||
defer logEntry.Debug("vulcand/oxy/fallback/response: completed ServeHttp on request")
|
||||
}
|
||||
|
@ -45,27 +55,38 @@ func (f *ResponseFallback) ServeHTTP(w http.ResponseWriter, req *http.Request) {
|
|||
}
|
||||
}
|
||||
|
||||
// Redirect redirect model
|
||||
type Redirect struct {
|
||||
URL string
|
||||
PreservePath bool
|
||||
}
|
||||
|
||||
// RedirectFallback fallback redirect handler
|
||||
type RedirectFallback struct {
|
||||
u *url.URL
|
||||
r Redirect
|
||||
|
||||
u *url.URL
|
||||
|
||||
log *log.Logger
|
||||
}
|
||||
|
||||
func NewRedirectFallback(r Redirect) (*RedirectFallback, error) {
|
||||
// NewRedirectFallbackWithLogger creates a new RedirectFallback
|
||||
func NewRedirectFallbackWithLogger(r Redirect, l *log.Logger) (*RedirectFallback, error) {
|
||||
u, err := url.ParseRequestURI(r.URL)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &RedirectFallback{u: u, r: r}, nil
|
||||
return &RedirectFallback{r: r, u: u, log: l}, nil
|
||||
}
|
||||
|
||||
// NewRedirectFallback creates a new RedirectFallback
|
||||
func NewRedirectFallback(r Redirect) (*RedirectFallback, error) {
|
||||
return NewRedirectFallbackWithLogger(r, log.StandardLogger())
|
||||
}
|
||||
|
||||
func (f *RedirectFallback) ServeHTTP(w http.ResponseWriter, req *http.Request) {
|
||||
if log.GetLevel() >= log.DebugLevel {
|
||||
logEntry := log.WithField("Request", utils.DumpHttpRequest(req))
|
||||
if f.log.Level >= log.DebugLevel {
|
||||
logEntry := f.log.WithField("Request", utils.DumpHttpRequest(req))
|
||||
logEntry.Debug("vulcand/oxy/fallback/redirect: begin ServeHttp on request")
|
||||
defer logEntry.Debug("vulcand/oxy/fallback/redirect: completed ServeHttp on request")
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue