summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2024-11-10 11:19:53 -0300
committerEuAndreh <eu@euandre.org>2024-11-14 00:26:16 -0300
commit383ff6b6069e757e17cccd5f36dfffec3ae22c8a (patch)
treee29f2553c3315bbbc51a1393d7e2cab7f962af59
parentmkdeps.sh: Update to simplified code with same behaviour (diff)
downloadglaze-383ff6b6069e757e17cccd5f36dfffec3ae22c8a.tar.gz
glaze-383ff6b6069e757e17cccd5f36dfffec3ae22c8a.tar.xz
src/glaze.go: Add simplistic -X redirect implementation
-rw-r--r--src/glaze.go18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/glaze.go b/src/glaze.go
index 5ab635f..2644211 100644
--- a/src/glaze.go
+++ b/src/glaze.go
@@ -261,7 +261,7 @@ func handlerFor(path string) http.HandlerFunc {
})
}
-func (i *patternPath) String() string {
+func (_ *patternPath) String() string {
return ""
}
@@ -286,17 +286,29 @@ func (_ *patternPath) Set(value string) error {
func parseArgs(args []string) string {
var pat patternPath
+ redirect := false
+
fs := flag.NewFlagSet(args[0], flag.ExitOnError)
- fs.Var(&pat, "P", "")
+ fs.Var(&pat, "P", "FIXME")
+ fs.BoolVar(&redirect, "X", false, "FIXME")
fs.Parse(args[1:])
if fs.NArg() != 1 {
fmt.Fprintf(
os.Stderr,
- "Usage: %s [ -P PATTERN:PATH ]... LISTEN.socket\n",
+ "Usage: %s ([ -P PATTERN:PATH ]... | -X) " +
+ "LISTEN.socket\n",
args[0],
)
os.Exit(2)
}
+
+ if redirect {
+ http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
+ target := "https://" + r.Host + r.RequestURI
+ http.Redirect(w, r, target, http.StatusMovedPermanently)
+ })
+ }
+
return fs.Arg(0)
}