summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/labstack/echo/middleware
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/labstack/echo/middleware')
-rw-r--r--vendor/github.com/labstack/echo/middleware/basic_auth.go6
-rw-r--r--vendor/github.com/labstack/echo/middleware/body_dump.go3
-rw-r--r--vendor/github.com/labstack/echo/middleware/body_limit.go1
-rw-r--r--vendor/github.com/labstack/echo/middleware/csrf.go8
-rw-r--r--vendor/github.com/labstack/echo/middleware/jwt.go12
-rw-r--r--vendor/github.com/labstack/echo/middleware/key_auth.go8
-rw-r--r--vendor/github.com/labstack/echo/middleware/logger.go8
-rw-r--r--vendor/github.com/labstack/echo/middleware/proxy.go8
-rw-r--r--vendor/github.com/labstack/echo/middleware/static.go119
9 files changed, 125 insertions, 48 deletions
diff --git a/vendor/github.com/labstack/echo/middleware/basic_auth.go b/vendor/github.com/labstack/echo/middleware/basic_auth.go
index 6d6a37b4..e6c96324 100644
--- a/vendor/github.com/labstack/echo/middleware/basic_auth.go
+++ b/vendor/github.com/labstack/echo/middleware/basic_auth.go
@@ -93,10 +93,8 @@ func BasicAuthWithConfig(config BasicAuthConfig) echo.MiddlewareFunc {
}
}
- realm := ""
- if config.Realm == defaultRealm {
- realm = defaultRealm
- } else {
+ realm := defaultRealm
+ if config.Realm != defaultRealm {
realm = strconv.Quote(config.Realm)
}
diff --git a/vendor/github.com/labstack/echo/middleware/body_dump.go b/vendor/github.com/labstack/echo/middleware/body_dump.go
index 14cf33d1..e64e5e11 100644
--- a/vendor/github.com/labstack/echo/middleware/body_dump.go
+++ b/vendor/github.com/labstack/echo/middleware/body_dump.go
@@ -3,12 +3,11 @@ package middleware
import (
"bufio"
"bytes"
+ "io"
"io/ioutil"
"net"
"net/http"
- "io"
-
"github.com/labstack/echo"
)
diff --git a/vendor/github.com/labstack/echo/middleware/body_limit.go b/vendor/github.com/labstack/echo/middleware/body_limit.go
index 8d8281f4..c83f57e1 100644
--- a/vendor/github.com/labstack/echo/middleware/body_limit.go
+++ b/vendor/github.com/labstack/echo/middleware/body_limit.go
@@ -105,6 +105,7 @@ func (r *limitedReader) Close() error {
func (r *limitedReader) Reset(reader io.ReadCloser, context echo.Context) {
r.reader = reader
r.context = context
+ r.read = 0
}
func limitedReaderPool(c BodyLimitConfig) sync.Pool {
diff --git a/vendor/github.com/labstack/echo/middleware/csrf.go b/vendor/github.com/labstack/echo/middleware/csrf.go
index 0d2b7fd6..5d1f4671 100644
--- a/vendor/github.com/labstack/echo/middleware/csrf.go
+++ b/vendor/github.com/labstack/echo/middleware/csrf.go
@@ -126,8 +126,8 @@ func CSRFWithConfig(config CSRFConfig) echo.MiddlewareFunc {
k, err := c.Cookie(config.CookieName)
token := ""
+ // Generate token
if err != nil {
- // Generate token
token = random.String(config.TokenLength)
} else {
// Reuse token
@@ -143,7 +143,7 @@ func CSRFWithConfig(config CSRFConfig) echo.MiddlewareFunc {
return echo.NewHTTPError(http.StatusBadRequest, err.Error())
}
if !validateCSRFToken(token, clientToken) {
- return echo.NewHTTPError(http.StatusForbidden, "Invalid csrf token")
+ return echo.NewHTTPError(http.StatusForbidden, "invalid csrf token")
}
}
@@ -187,7 +187,7 @@ func csrfTokenFromForm(param string) csrfTokenExtractor {
return func(c echo.Context) (string, error) {
token := c.FormValue(param)
if token == "" {
- return "", errors.New("Missing csrf token in the form parameter")
+ return "", errors.New("missing csrf token in the form parameter")
}
return token, nil
}
@@ -199,7 +199,7 @@ func csrfTokenFromQuery(param string) csrfTokenExtractor {
return func(c echo.Context) (string, error) {
token := c.QueryParam(param)
if token == "" {
- return "", errors.New("Missing csrf token in the query string")
+ return "", errors.New("missing csrf token in the query string")
}
return token, nil
}
diff --git a/vendor/github.com/labstack/echo/middleware/jwt.go b/vendor/github.com/labstack/echo/middleware/jwt.go
index 47d885b0..e98040ae 100644
--- a/vendor/github.com/labstack/echo/middleware/jwt.go
+++ b/vendor/github.com/labstack/echo/middleware/jwt.go
@@ -58,8 +58,8 @@ const (
// Errors
var (
- ErrJWTMissing = echo.NewHTTPError(http.StatusBadRequest, "Missing or malformed jwt")
- ErrJWTInvalid = echo.NewHTTPError(http.StatusUnauthorized, "Invalid or expired jwt")
+ ErrJWTMissing = echo.NewHTTPError(http.StatusBadRequest, "missing or malformed jwt")
+ ErrJWTInvalid = echo.NewHTTPError(http.StatusUnauthorized, "invalid or expired jwt")
)
var (
@@ -116,7 +116,7 @@ func JWTWithConfig(config JWTConfig) echo.MiddlewareFunc {
config.keyFunc = func(t *jwt.Token) (interface{}, error) {
// Check the signing method
if t.Method.Alg() != config.SigningMethod {
- return nil, fmt.Errorf("Unexpected jwt signing method=%v", t.Header["alg"])
+ return nil, fmt.Errorf("unexpected jwt signing method=%v", t.Header["alg"])
}
return config.SigningKey, nil
}
@@ -156,9 +156,9 @@ func JWTWithConfig(config JWTConfig) echo.MiddlewareFunc {
return next(c)
}
return &echo.HTTPError{
- Code: ErrJWTInvalid.Code,
- Message: ErrJWTInvalid.Message,
- Inner: err,
+ Code: ErrJWTInvalid.Code,
+ Message: ErrJWTInvalid.Message,
+ Internal: err,
}
}
}
diff --git a/vendor/github.com/labstack/echo/middleware/key_auth.go b/vendor/github.com/labstack/echo/middleware/key_auth.go
index 4990afd9..c12f4ca9 100644
--- a/vendor/github.com/labstack/echo/middleware/key_auth.go
+++ b/vendor/github.com/labstack/echo/middleware/key_auth.go
@@ -114,14 +114,14 @@ func keyFromHeader(header string, authScheme string) keyExtractor {
return func(c echo.Context) (string, error) {
auth := c.Request().Header.Get(header)
if auth == "" {
- return "", errors.New("Missing key in request header")
+ return "", errors.New("missing key in request header")
}
if header == echo.HeaderAuthorization {
l := len(authScheme)
if len(auth) > l+1 && auth[:l] == authScheme {
return auth[l+1:], nil
}
- return "", errors.New("Invalid key in the request header")
+ return "", errors.New("invalid key in the request header")
}
return auth, nil
}
@@ -132,7 +132,7 @@ func keyFromQuery(param string) keyExtractor {
return func(c echo.Context) (string, error) {
key := c.QueryParam(param)
if key == "" {
- return "", errors.New("Missing key in the query string")
+ return "", errors.New("missing key in the query string")
}
return key, nil
}
@@ -143,7 +143,7 @@ func keyFromForm(param string) keyExtractor {
return func(c echo.Context) (string, error) {
key := c.FormValue(param)
if key == "" {
- return "", errors.New("Missing key in the form")
+ return "", errors.New("missing key in the form")
}
return key, nil
}
diff --git a/vendor/github.com/labstack/echo/middleware/logger.go b/vendor/github.com/labstack/echo/middleware/logger.go
index c7b80f8c..87af575f 100644
--- a/vendor/github.com/labstack/echo/middleware/logger.go
+++ b/vendor/github.com/labstack/echo/middleware/logger.go
@@ -47,7 +47,7 @@ type (
// Example "${remote_ip} ${status}"
//
// Optional. Default value DefaultLoggerConfig.Format.
- Format string `yaml:"format"`
+ Format string `yaml:"format"`
// Optional. Default value DefaultLoggerConfig.CustomTimeFormat.
CustomTimeFormat string `yaml:"custom_time_format"`
@@ -70,9 +70,9 @@ var (
`"method":"${method}","uri":"${uri}","status":${status}, "latency":${latency},` +
`"latency_human":"${latency_human}","bytes_in":${bytes_in},` +
`"bytes_out":${bytes_out}}` + "\n",
- CustomTimeFormat:"2006-01-02 15:04:05.00000",
- Output: os.Stdout,
- colorer: color.New(),
+ CustomTimeFormat: "2006-01-02 15:04:05.00000",
+ Output: os.Stdout,
+ colorer: color.New(),
}
)
diff --git a/vendor/github.com/labstack/echo/middleware/proxy.go b/vendor/github.com/labstack/echo/middleware/proxy.go
index ae3ff527..f6147737 100644
--- a/vendor/github.com/labstack/echo/middleware/proxy.go
+++ b/vendor/github.com/labstack/echo/middleware/proxy.go
@@ -108,15 +108,15 @@ func proxyRaw(t *ProxyTarget, c echo.Context) http.Handler {
return
}
- errc := make(chan error, 2)
+ errCh := make(chan error, 2)
cp := func(dst io.Writer, src io.Reader) {
- _, err := io.Copy(dst, src)
- errc <- err
+ _, err = io.Copy(dst, src)
+ errCh <- err
}
go cp(out, in)
go cp(in, out)
- err = <-errc
+ err = <-errCh
if err != nil && err != io.EOF {
c.Logger().Errorf("proxy raw, copy body error=%v, url=%s", t.URL, err)
}
diff --git a/vendor/github.com/labstack/echo/middleware/static.go b/vendor/github.com/labstack/echo/middleware/static.go
index 7208c3a2..55485f34 100644
--- a/vendor/github.com/labstack/echo/middleware/static.go
+++ b/vendor/github.com/labstack/echo/middleware/static.go
@@ -2,13 +2,16 @@ package middleware
import (
"fmt"
+ "html/template"
"net/http"
+ "net/url"
"os"
"path"
"path/filepath"
"strings"
"github.com/labstack/echo"
+ "github.com/labstack/gommon/bytes"
)
type (
@@ -36,6 +39,78 @@ type (
}
)
+const html = `
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <meta http-equiv="X-UA-Compatible" content="ie=edge">
+ <title>{{ .Name }}</title>
+ <style>
+ body {
+ font-family: Menlo, Consolas, monospace;
+ padding: 48px;
+ }
+ header {
+ padding: 4px 16px;
+ font-size: 24px;
+ }
+ ul {
+ list-style-type: none;
+ margin: 0;
+ padding: 20px 0 0 0;
+ display: flex;
+ flex-wrap: wrap;
+ }
+ li {
+ width: 300px;
+ padding: 16px;
+ }
+ li a {
+ display: block;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ text-decoration: none;
+ transition: opacity 0.25s;
+ }
+ li span {
+ color: #707070;
+ font-size: 12px;
+ }
+ li a:hover {
+ opacity: 0.50;
+ }
+ .dir {
+ color: #E91E63;
+ }
+ .file {
+ color: #673AB7;
+ }
+ </style>
+</head>
+<body>
+ <header>
+ {{ .Name }}
+ </header>
+ <ul>
+ {{ range .Files }}
+ <li>
+ {{ if .Dir }}
+ {{ $name := print .Name "/" }}
+ <a class="dir" href="{{ $name }}">{{ $name }}</a>
+ {{ else }}
+ <a class="file" href="{{ .Name }}">{{ .Name }}</a>
+ <span>{{ .Size }}</span>
+ {{ end }}
+ </li>
+ {{ end }}
+ </ul>
+</body>
+</html>
+`
+
var (
// DefaultStaticConfig is the default Static middleware config.
DefaultStaticConfig = StaticConfig{
@@ -66,6 +141,12 @@ func StaticWithConfig(config StaticConfig) echo.MiddlewareFunc {
config.Index = DefaultStaticConfig.Index
}
+ // Index template
+ t, err := template.New("index").Parse(html)
+ if err != nil {
+ panic(fmt.Sprintf("echo: %v", err))
+ }
+
return func(next echo.HandlerFunc) echo.HandlerFunc {
return func(c echo.Context) (err error) {
if config.Skipper(c) {
@@ -76,7 +157,7 @@ func StaticWithConfig(config StaticConfig) echo.MiddlewareFunc {
if strings.HasSuffix(c.Path(), "*") { // When serving from a group, e.g. `/static*`.
p = c.Param("*")
}
- p, err = echo.PathUnescape(p)
+ p, err = url.PathUnescape(p)
if err != nil {
return
}
@@ -103,7 +184,7 @@ func StaticWithConfig(config StaticConfig) echo.MiddlewareFunc {
if err != nil {
if config.Browse {
- return listDir(name, c.Response())
+ return listDir(t, name, c.Response())
}
if os.IsNotExist(err) {
return next(c)
@@ -119,32 +200,30 @@ func StaticWithConfig(config StaticConfig) echo.MiddlewareFunc {
}
}
-func listDir(name string, res *echo.Response) (err error) {
- dir, err := os.Open(name)
+func listDir(t *template.Template, name string, res *echo.Response) (err error) {
+ file, err := os.Open(name)
if err != nil {
return
}
- dirs, err := dir.Readdir(-1)
+ files, err := file.Readdir(-1)
if err != nil {
return
}
- // Create a directory index
+ // Create directory index
res.Header().Set(echo.HeaderContentType, echo.MIMETextHTMLCharsetUTF8)
- if _, err = fmt.Fprintf(res, "<pre>\n"); err != nil {
- return
+ data := struct {
+ Name string
+ Files []interface{}
+ }{
+ Name: name,
}
- for _, d := range dirs {
- name := d.Name()
- color := "#212121"
- if d.IsDir() {
- color = "#e91e63"
- name += "/"
- }
- if _, err = fmt.Fprintf(res, "<a href=\"%s\" style=\"color: %s;\">%s</a>\n", name, color, name); err != nil {
- return
- }
+ for _, f := range files {
+ data.Files = append(data.Files, struct {
+ Name string
+ Dir bool
+ Size string
+ }{f.Name(), f.IsDir(), bytes.Format(f.Size())})
}
- _, err = fmt.Fprintf(res, "</pre>\n")
- return
+ return t.Execute(res, data)
}