@@ 0,0 1,6 @@
+git.sr.ht/~sircmpwn/getopt v0.0.0-20190808004552-daaf1274538b h1:da5JBQ6dcW14aWnEf/pFRIMV2PsqTQEWmR+V2sw5oxU=
+git.sr.ht/~sircmpwn/getopt v0.0.0-20190808004552-daaf1274538b/go.mod h1:wMEGFFFNuPos7vHmWXfszqImLppbc0wEhh6JBfJIUgw=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
@@ 12,26 12,24 @@ package main
import (
"fmt"
"net/http"
+ "git.sr.ht/~sircmpwn/getopt"
"ben.gmbh/sourcehut-vanity/vanityserver"
"os"
)
-func printusage() {
- fmt.Fprintf(os.Stderr, "usage: sourcehut-vanity username [0.0.0.0:8080]\n")
- os.Exit(1)
-}
-
func main() {
var port string
- if (len(os.Args) < 2) {
- printusage()
+ var user string
+ getopt.StringVar(&port, "p", "0.0.0.0:8080", "address and port to bind to")
+ getopt.StringVar(&user, "u", "", "username to redirect to")
+ if e := getopt.Parse(); e != nil {
+ panic(e)
}
- if (len(os.Args) == 3) {
- port = os.Args[2]
- } else {
- port = "0.0.0.0:8080"
+ if (user == "" || port == "") {
+ fmt.Fprintf(os.Stderr, "usage: sourcehut-vanity -u username [-p 0.0.0.0:8080]\n")
+ getopt.PrintDefaults()
+ os.Exit(1)
}
-
- fmt.Printf("Serving %v's projects on %v\n", os.Args[1], port)
- fmt.Println(http.ListenAndServe(port, vanityserver.VanityServer{Username: os.Args[1]}))
+ fmt.Printf("Serving %v's projects on %v\n", user, port)
+ fmt.Println(http.ListenAndServe(port, vanityserver.VanityServer{Username: user}))
}