summaryrefslogtreecommitdiffhomepage
path: root/config/setup/headers.go
diff options
context:
space:
mode:
authorMatt Holt <[email protected]>2015-11-02 21:06:31 -0700
committerMatt Holt <[email protected]>2015-11-02 21:06:31 -0700
commit295d21f37de865164c08f9582b9c190abe374d4d (patch)
tree7acfa207b92b8d884ea56fcdeff29ffe3f6d0359 /config/setup/headers.go
parent09341fca1276b248d946dde1528138271daa9c40 (diff)
parent866427491ca9243b5d4793308439a4e471c93daf (diff)
downloadcaddy-0.8-beta.1.tar.gz
caddy-0.8-beta.1.zip
Merge pull request #308 from mholt/letsencryptv0.8-beta.1
Let's Encrypt
Diffstat (limited to 'config/setup/headers.go')
-rw-r--r--config/setup/headers.go84
1 files changed, 0 insertions, 84 deletions
diff --git a/config/setup/headers.go b/config/setup/headers.go
deleted file mode 100644
index 553f20b18..000000000
--- a/config/setup/headers.go
+++ /dev/null
@@ -1,84 +0,0 @@
-package setup
-
-import (
- "github.com/mholt/caddy/middleware"
- "github.com/mholt/caddy/middleware/headers"
-)
-
-// Headers configures a new Headers middleware instance.
-func Headers(c *Controller) (middleware.Middleware, error) {
- rules, err := headersParse(c)
- if err != nil {
- return nil, err
- }
-
- return func(next middleware.Handler) middleware.Handler {
- return headers.Headers{Next: next, Rules: rules}
- }, nil
-}
-
-func headersParse(c *Controller) ([]headers.Rule, error) {
- var rules []headers.Rule
-
- for c.NextLine() {
- var head headers.Rule
- var isNewPattern bool
-
- if !c.NextArg() {
- return rules, c.ArgErr()
- }
- pattern := c.Val()
-
- // See if we already have a definition for this Path pattern...
- for _, h := range rules {
- if h.Path == pattern {
- head = h
- break
- }
- }
-
- // ...otherwise, this is a new pattern
- if head.Path == "" {
- head.Path = pattern
- isNewPattern = true
- }
-
- for c.NextBlock() {
- // A block of headers was opened...
-
- h := headers.Header{Name: c.Val()}
-
- if c.NextArg() {
- h.Value = c.Val()
- }
-
- head.Headers = append(head.Headers, h)
- }
- if c.NextArg() {
- // ... or single header was defined as an argument instead.
-
- h := headers.Header{Name: c.Val()}
-
- h.Value = c.Val()
-
- if c.NextArg() {
- h.Value = c.Val()
- }
-
- head.Headers = append(head.Headers, h)
- }
-
- if isNewPattern {
- rules = append(rules, head)
- } else {
- for i := 0; i < len(rules); i++ {
- if rules[i].Path == pattern {
- rules[i] = head
- break
- }
- }
- }
- }
-
- return rules, nil
-}