Vendor Update (#14496)
* update code.gitea.io/sdk/gitea v0.13.1 -> v0.13.2 * update github.com/go-swagger/go-swagger v0.25.0 -> v0.26.0 * update github.com/google/uuid v1.1.2 -> v1.2.0 * update github.com/klauspost/compress v1.11.3 -> v1.11.7 * update github.com/lib/pq 083382b7e6fc -> v1.9.0 * update github.com/markbates/goth v1.65.0 -> v1.66.1 * update github.com/mattn/go-sqlite3 v1.14.4 -> v1.14.6 * update github.com/mgechev/revive 246eac737dc7 -> v1.0.3 * update github.com/minio/minio-go/v7 v7.0.6 -> v7.0.7 * update github.com/niklasfasching/go-org v1.3.2 -> v1.4.0 * update github.com/olivere/elastic/v7 v7.0.21 -> v7.0.22 * update github.com/pquerna/otp v1.2.0 -> v1.3.0 * update github.com/xanzy/go-gitlab v0.39.0 -> v0.42.0 * update github.com/yuin/goldmark v1.2.1 -> v1.3.1
This commit is contained in:
parent
e45bf12a34
commit
d1353e1f7c
403 changed files with 29737 additions and 14357 deletions
163
vendor/github.com/gorilla/handlers/compress.go
generated
vendored
163
vendor/github.com/gorilla/handlers/compress.go
generated
vendored
|
@ -10,33 +10,34 @@ import (
|
|||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
"github.com/felixge/httpsnoop"
|
||||
)
|
||||
|
||||
const acceptEncoding string = "Accept-Encoding"
|
||||
|
||||
type compressResponseWriter struct {
|
||||
io.Writer
|
||||
http.ResponseWriter
|
||||
http.Hijacker
|
||||
http.Flusher
|
||||
http.CloseNotifier
|
||||
compressor io.Writer
|
||||
w http.ResponseWriter
|
||||
}
|
||||
|
||||
func (w *compressResponseWriter) WriteHeader(c int) {
|
||||
w.ResponseWriter.Header().Del("Content-Length")
|
||||
w.ResponseWriter.WriteHeader(c)
|
||||
func (cw *compressResponseWriter) WriteHeader(c int) {
|
||||
cw.w.Header().Del("Content-Length")
|
||||
cw.w.WriteHeader(c)
|
||||
}
|
||||
|
||||
func (w *compressResponseWriter) Header() http.Header {
|
||||
return w.ResponseWriter.Header()
|
||||
}
|
||||
|
||||
func (w *compressResponseWriter) Write(b []byte) (int, error) {
|
||||
h := w.ResponseWriter.Header()
|
||||
func (cw *compressResponseWriter) Write(b []byte) (int, error) {
|
||||
h := cw.w.Header()
|
||||
if h.Get("Content-Type") == "" {
|
||||
h.Set("Content-Type", http.DetectContentType(b))
|
||||
}
|
||||
h.Del("Content-Length")
|
||||
|
||||
return w.Writer.Write(b)
|
||||
return cw.compressor.Write(b)
|
||||
}
|
||||
|
||||
func (cw *compressResponseWriter) ReadFrom(r io.Reader) (int64, error) {
|
||||
return io.Copy(cw.compressor, r)
|
||||
}
|
||||
|
||||
type flusher interface {
|
||||
|
@ -45,12 +46,12 @@ type flusher interface {
|
|||
|
||||
func (w *compressResponseWriter) Flush() {
|
||||
// Flush compressed data if compressor supports it.
|
||||
if f, ok := w.Writer.(flusher); ok {
|
||||
if f, ok := w.compressor.(flusher); ok {
|
||||
f.Flush()
|
||||
}
|
||||
// Flush HTTP response.
|
||||
if w.Flusher != nil {
|
||||
w.Flusher.Flush()
|
||||
if f, ok := w.w.(http.Flusher); ok {
|
||||
f.Flush()
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,77 +75,69 @@ func CompressHandlerLevel(h http.Handler, level int) http.Handler {
|
|||
level = gzip.DefaultCompression
|
||||
}
|
||||
|
||||
const (
|
||||
gzipEncoding = "gzip"
|
||||
flateEncoding = "deflate"
|
||||
)
|
||||
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
L:
|
||||
for _, enc := range strings.Split(r.Header.Get("Accept-Encoding"), ",") {
|
||||
switch strings.TrimSpace(enc) {
|
||||
case "gzip":
|
||||
w.Header().Set("Content-Encoding", "gzip")
|
||||
r.Header.Del("Accept-Encoding")
|
||||
w.Header().Add("Vary", "Accept-Encoding")
|
||||
|
||||
gw, _ := gzip.NewWriterLevel(w, level)
|
||||
defer gw.Close()
|
||||
|
||||
h, hok := w.(http.Hijacker)
|
||||
if !hok { /* w is not Hijacker... oh well... */
|
||||
h = nil
|
||||
}
|
||||
|
||||
f, fok := w.(http.Flusher)
|
||||
if !fok {
|
||||
f = nil
|
||||
}
|
||||
|
||||
cn, cnok := w.(http.CloseNotifier)
|
||||
if !cnok {
|
||||
cn = nil
|
||||
}
|
||||
|
||||
w = &compressResponseWriter{
|
||||
Writer: gw,
|
||||
ResponseWriter: w,
|
||||
Hijacker: h,
|
||||
Flusher: f,
|
||||
CloseNotifier: cn,
|
||||
}
|
||||
|
||||
break L
|
||||
case "deflate":
|
||||
w.Header().Set("Content-Encoding", "deflate")
|
||||
r.Header.Del("Accept-Encoding")
|
||||
w.Header().Add("Vary", "Accept-Encoding")
|
||||
|
||||
fw, _ := flate.NewWriter(w, level)
|
||||
defer fw.Close()
|
||||
|
||||
h, hok := w.(http.Hijacker)
|
||||
if !hok { /* w is not Hijacker... oh well... */
|
||||
h = nil
|
||||
}
|
||||
|
||||
f, fok := w.(http.Flusher)
|
||||
if !fok {
|
||||
f = nil
|
||||
}
|
||||
|
||||
cn, cnok := w.(http.CloseNotifier)
|
||||
if !cnok {
|
||||
cn = nil
|
||||
}
|
||||
|
||||
w = &compressResponseWriter{
|
||||
Writer: fw,
|
||||
ResponseWriter: w,
|
||||
Hijacker: h,
|
||||
Flusher: f,
|
||||
CloseNotifier: cn,
|
||||
}
|
||||
|
||||
break L
|
||||
// detect what encoding to use
|
||||
var encoding string
|
||||
for _, curEnc := range strings.Split(r.Header.Get(acceptEncoding), ",") {
|
||||
curEnc = strings.TrimSpace(curEnc)
|
||||
if curEnc == gzipEncoding || curEnc == flateEncoding {
|
||||
encoding = curEnc
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
// always add Accept-Encoding to Vary to prevent intermediate caches corruption
|
||||
w.Header().Add("Vary", acceptEncoding)
|
||||
|
||||
// if we weren't able to identify an encoding we're familiar with, pass on the
|
||||
// request to the handler and return
|
||||
if encoding == "" {
|
||||
h.ServeHTTP(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
if r.Header.Get("Upgrade") != "" {
|
||||
h.ServeHTTP(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
// wrap the ResponseWriter with the writer for the chosen encoding
|
||||
var encWriter io.WriteCloser
|
||||
if encoding == gzipEncoding {
|
||||
encWriter, _ = gzip.NewWriterLevel(w, level)
|
||||
} else if encoding == flateEncoding {
|
||||
encWriter, _ = flate.NewWriter(w, level)
|
||||
}
|
||||
defer encWriter.Close()
|
||||
|
||||
w.Header().Set("Content-Encoding", encoding)
|
||||
r.Header.Del(acceptEncoding)
|
||||
|
||||
cw := &compressResponseWriter{
|
||||
w: w,
|
||||
compressor: encWriter,
|
||||
}
|
||||
|
||||
w = httpsnoop.Wrap(w, httpsnoop.Hooks{
|
||||
Write: func(httpsnoop.WriteFunc) httpsnoop.WriteFunc {
|
||||
return cw.Write
|
||||
},
|
||||
WriteHeader: func(httpsnoop.WriteHeaderFunc) httpsnoop.WriteHeaderFunc {
|
||||
return cw.WriteHeader
|
||||
},
|
||||
Flush: func(httpsnoop.FlushFunc) httpsnoop.FlushFunc {
|
||||
return cw.Flush
|
||||
},
|
||||
ReadFrom: func(rff httpsnoop.ReadFromFunc) httpsnoop.ReadFromFunc {
|
||||
return cw.ReadFrom
|
||||
},
|
||||
})
|
||||
|
||||
h.ServeHTTP(w, r)
|
||||
})
|
||||
}
|
||||
|
|
4
vendor/github.com/gorilla/handlers/go.mod
generated
vendored
4
vendor/github.com/gorilla/handlers/go.mod
generated
vendored
|
@ -1 +1,5 @@
|
|||
module github.com/gorilla/handlers
|
||||
|
||||
go 1.14
|
||||
|
||||
require github.com/felixge/httpsnoop v1.0.1
|
||||
|
|
2
vendor/github.com/gorilla/handlers/go.sum
generated
vendored
Normal file
2
vendor/github.com/gorilla/handlers/go.sum
generated
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ=
|
||||
github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
35
vendor/github.com/gorilla/handlers/handlers.go
generated
vendored
35
vendor/github.com/gorilla/handlers/handlers.go
generated
vendored
|
@ -51,10 +51,6 @@ type responseLogger struct {
|
|||
size int
|
||||
}
|
||||
|
||||
func (l *responseLogger) Header() http.Header {
|
||||
return l.w.Header()
|
||||
}
|
||||
|
||||
func (l *responseLogger) Write(b []byte) (int, error) {
|
||||
size, err := l.w.Write(b)
|
||||
l.size += size
|
||||
|
@ -74,39 +70,16 @@ func (l *responseLogger) Size() int {
|
|||
return l.size
|
||||
}
|
||||
|
||||
func (l *responseLogger) Flush() {
|
||||
f, ok := l.w.(http.Flusher)
|
||||
if ok {
|
||||
f.Flush()
|
||||
}
|
||||
}
|
||||
|
||||
type hijackLogger struct {
|
||||
responseLogger
|
||||
}
|
||||
|
||||
func (l *hijackLogger) Hijack() (net.Conn, *bufio.ReadWriter, error) {
|
||||
h := l.responseLogger.w.(http.Hijacker)
|
||||
conn, rw, err := h.Hijack()
|
||||
if err == nil && l.responseLogger.status == 0 {
|
||||
func (l *responseLogger) Hijack() (net.Conn, *bufio.ReadWriter, error) {
|
||||
conn, rw, err := l.w.(http.Hijacker).Hijack()
|
||||
if err == nil && l.status == 0 {
|
||||
// The status will be StatusSwitchingProtocols if there was no error and
|
||||
// WriteHeader has not been called yet
|
||||
l.responseLogger.status = http.StatusSwitchingProtocols
|
||||
l.status = http.StatusSwitchingProtocols
|
||||
}
|
||||
return conn, rw, err
|
||||
}
|
||||
|
||||
type closeNotifyWriter struct {
|
||||
loggingResponseWriter
|
||||
http.CloseNotifier
|
||||
}
|
||||
|
||||
type hijackCloseNotifier struct {
|
||||
loggingResponseWriter
|
||||
http.Hijacker
|
||||
http.CloseNotifier
|
||||
}
|
||||
|
||||
// isContentType validates the Content-Type header matches the supplied
|
||||
// contentType. That is, its type and subtype match.
|
||||
func isContentType(h http.Header, contentType string) bool {
|
||||
|
|
29
vendor/github.com/gorilla/handlers/handlers_go18.go
generated
vendored
29
vendor/github.com/gorilla/handlers/handlers_go18.go
generated
vendored
|
@ -1,29 +0,0 @@
|
|||
// +build go1.8
|
||||
|
||||
package handlers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
type loggingResponseWriter interface {
|
||||
commonLoggingResponseWriter
|
||||
http.Pusher
|
||||
}
|
||||
|
||||
func (l *responseLogger) Push(target string, opts *http.PushOptions) error {
|
||||
p, ok := l.w.(http.Pusher)
|
||||
if !ok {
|
||||
return fmt.Errorf("responseLogger does not implement http.Pusher")
|
||||
}
|
||||
return p.Push(target, opts)
|
||||
}
|
||||
|
||||
func (c *compressResponseWriter) Push(target string, opts *http.PushOptions) error {
|
||||
p, ok := c.ResponseWriter.(http.Pusher)
|
||||
if !ok {
|
||||
return fmt.Errorf("compressResponseWriter does not implement http.Pusher")
|
||||
}
|
||||
return p.Push(target, opts)
|
||||
}
|
7
vendor/github.com/gorilla/handlers/handlers_pre18.go
generated
vendored
7
vendor/github.com/gorilla/handlers/handlers_pre18.go
generated
vendored
|
@ -1,7 +0,0 @@
|
|||
// +build !go1.8
|
||||
|
||||
package handlers
|
||||
|
||||
type loggingResponseWriter interface {
|
||||
commonLoggingResponseWriter
|
||||
}
|
39
vendor/github.com/gorilla/handlers/logging.go
generated
vendored
39
vendor/github.com/gorilla/handlers/logging.go
generated
vendored
|
@ -12,6 +12,8 @@ import (
|
|||
"strconv"
|
||||
"time"
|
||||
"unicode/utf8"
|
||||
|
||||
"github.com/felixge/httpsnoop"
|
||||
)
|
||||
|
||||
// Logging
|
||||
|
@ -39,10 +41,10 @@ type loggingHandler struct {
|
|||
|
||||
func (h loggingHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
|
||||
t := time.Now()
|
||||
logger := makeLogger(w)
|
||||
logger, w := makeLogger(w)
|
||||
url := *req.URL
|
||||
|
||||
h.handler.ServeHTTP(logger, req)
|
||||
h.handler.ServeHTTP(w, req)
|
||||
if req.MultipartForm != nil {
|
||||
req.MultipartForm.RemoveAll()
|
||||
}
|
||||
|
@ -58,27 +60,16 @@ func (h loggingHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
|
|||
h.formatter(h.writer, params)
|
||||
}
|
||||
|
||||
func makeLogger(w http.ResponseWriter) loggingResponseWriter {
|
||||
var logger loggingResponseWriter = &responseLogger{w: w, status: http.StatusOK}
|
||||
if _, ok := w.(http.Hijacker); ok {
|
||||
logger = &hijackLogger{responseLogger{w: w, status: http.StatusOK}}
|
||||
}
|
||||
h, ok1 := logger.(http.Hijacker)
|
||||
c, ok2 := w.(http.CloseNotifier)
|
||||
if ok1 && ok2 {
|
||||
return hijackCloseNotifier{logger, h, c}
|
||||
}
|
||||
if ok2 {
|
||||
return &closeNotifyWriter{logger, c}
|
||||
}
|
||||
return logger
|
||||
}
|
||||
|
||||
type commonLoggingResponseWriter interface {
|
||||
http.ResponseWriter
|
||||
http.Flusher
|
||||
Status() int
|
||||
Size() int
|
||||
func makeLogger(w http.ResponseWriter) (*responseLogger, http.ResponseWriter) {
|
||||
logger := &responseLogger{w: w, status: http.StatusOK}
|
||||
return logger, httpsnoop.Wrap(w, httpsnoop.Hooks{
|
||||
Write: func(httpsnoop.WriteFunc) httpsnoop.WriteFunc {
|
||||
return logger.Write
|
||||
},
|
||||
WriteHeader: func(httpsnoop.WriteHeaderFunc) httpsnoop.WriteHeaderFunc {
|
||||
return logger.WriteHeader
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
const lowerhex = "0123456789abcdef"
|
||||
|
@ -145,7 +136,6 @@ func appendQuoted(buf []byte, s string) []byte {
|
|||
}
|
||||
}
|
||||
return buf
|
||||
|
||||
}
|
||||
|
||||
// buildCommonLogLine builds a log entry for req in Apache Common Log Format.
|
||||
|
@ -160,7 +150,6 @@ func buildCommonLogLine(req *http.Request, url url.URL, ts time.Time, status int
|
|||
}
|
||||
|
||||
host, _, err := net.SplitHostPort(req.RemoteAddr)
|
||||
|
||||
if err != nil {
|
||||
host = req.RemoteAddr
|
||||
}
|
||||
|
|
9
vendor/github.com/gorilla/handlers/recovery.go
generated
vendored
9
vendor/github.com/gorilla/handlers/recovery.go
generated
vendored
|
@ -19,7 +19,7 @@ type recoveryHandler struct {
|
|||
|
||||
// RecoveryOption provides a functional approach to define
|
||||
// configuration for a handler; such as setting the logging
|
||||
// whether or not to print strack traces on panic.
|
||||
// whether or not to print stack traces on panic.
|
||||
type RecoveryOption func(http.Handler)
|
||||
|
||||
func parseRecoveryOptions(h http.Handler, opts ...RecoveryOption) http.Handler {
|
||||
|
@ -86,6 +86,11 @@ func (h recoveryHandler) log(v ...interface{}) {
|
|||
}
|
||||
|
||||
if h.printStack {
|
||||
debug.PrintStack()
|
||||
stack := string(debug.Stack())
|
||||
if h.logger != nil {
|
||||
h.logger.Println(stack)
|
||||
} else {
|
||||
log.Println(stack)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue