0
Fork 0
mirror of https://github.com/caddyserver/caddy.git synced 2024-12-23 22:27:38 -05:00
caddy/caddyhttp/internalsrv/setup.go

43 lines
765 B
Go
Raw Normal View History

2016-06-05 22:51:56 -05:00
package internalsrv
import (
"github.com/mholt/caddy"
"github.com/mholt/caddy/caddyhttp/httpserver"
)
func init() {
caddy.RegisterPlugin("internal", caddy.Plugin{
2016-06-05 22:51:56 -05:00
ServerType: "http",
Action: setup,
})
}
// Internal configures a new Internal middleware instance.
func setup(c *caddy.Controller) error {
paths, err := internalParse(c)
if err != nil {
return err
}
httpserver.GetConfig(c).AddMiddleware(func(next httpserver.Handler) httpserver.Handler {
2016-06-05 22:51:56 -05:00
return Internal{Next: next, Paths: paths}
})
return nil
}
func internalParse(c *caddy.Controller) ([]string, error) {
var paths []string
for c.Next() {
if c.NextArg() {
paths = append(paths, c.Val())
}
if c.NextArg() {
return nil, c.ArgErr()
2016-06-05 22:51:56 -05:00
}
}
return paths, nil
}