summaryrefslogtreecommitdiff
path: root/modules/caddyhttp/staticresp/staticresp.go
diff options
context:
space:
mode:
authorMatthew Holt <mholt@users.noreply.github.com>2019-05-07 09:56:13 -0600
committerMatthew Holt <mholt@users.noreply.github.com>2019-05-07 09:56:18 -0600
commite40bbecb16d196d2d700a9484e53c11b64dfe8d9 (patch)
treec4ab6cce5c98fdec6d9d5a3eaf666d5bea55a25f /modules/caddyhttp/staticresp/staticresp.go
parent8eba582efe2ec8646447d8721a42c486363b3bc2 (diff)
Rough implementation of auto HTTP->HTTPS redirects
Also added GracePeriod for server shutdowns
Diffstat (limited to 'modules/caddyhttp/staticresp/staticresp.go')
-rw-r--r--modules/caddyhttp/staticresp/staticresp.go57
1 files changed, 0 insertions, 57 deletions
diff --git a/modules/caddyhttp/staticresp/staticresp.go b/modules/caddyhttp/staticresp/staticresp.go
deleted file mode 100644
index e169133..0000000
--- a/modules/caddyhttp/staticresp/staticresp.go
+++ /dev/null
@@ -1,57 +0,0 @@
-package staticresp
-
-import (
- "fmt"
- "net/http"
-
- "bitbucket.org/lightcodelabs/caddy2"
- "bitbucket.org/lightcodelabs/caddy2/modules/caddyhttp"
-)
-
-func init() {
- caddy2.RegisterModule(caddy2.Module{
- Name: "http.responders.static",
- New: func() (interface{}, error) { return new(Static), nil },
- })
-}
-
-// Static implements a simple responder for static responses.
-type Static struct {
- StatusCode int `json:"status_code"`
- Headers map[string][]string `json:"headers"`
- Body string `json:"body"`
- Close bool `json:"close"`
-}
-
-func (s Static) ServeHTTP(w http.ResponseWriter, r *http.Request) error {
- repl := r.Context().Value(caddyhttp.ReplacerCtxKey).(*caddyhttp.Replacer)
-
- // close the connection
- r.Close = s.Close
-
- // set all headers, with replacements
- for field, vals := range s.Headers {
- field = repl.Replace(field, "")
- for i := range vals {
- vals[i] = repl.Replace(vals[i], "")
- }
- w.Header()[field] = vals
- }
-
- // write the headers with a status code
- statusCode := s.StatusCode
- if statusCode == 0 {
- statusCode = http.StatusOK
- }
- w.WriteHeader(statusCode)
-
- // write the response body, with replacements
- if s.Body != "" {
- fmt.Fprint(w, repl.Replace(s.Body, ""))
- }
-
- return nil
-}
-
-// Interface guard
-var _ caddyhttp.Handler = (*Static)(nil)