fix redirects, usage indent, and go fmt

This commit is contained in:
Hedy Li 2021-07-09 17:04:00 +08:00
parent 7ccf3a7606
commit b954d02f5d
Signed by: hedy
GPG Key ID: B51B5A8D1B176372
1 changed files with 20 additions and 13 deletions

View File

@ -14,21 +14,29 @@ import (
// SpartanURL parses u and calls SpartanParsedURL with the parsed url
func SpartanURL(u, input string) bool {
parsed, err := url.Parse(u)
if parsed.Host == "" {
parsed, err = url.Parse("spartan://" + u)
}
if err != nil {
fmt.Println("invalid url")
fmt.Println(err.Error())
return false
}
if parsed.Host == "" {
parsed, err = url.Parse("spartan://" + u)
// this is repeated, ugh!
if err != nil {
fmt.Println("invalid url")
fmt.Println(err.Error())
return false
}
}
if parsed.Scheme != "spartan" {
fmt.Println("Unsupported scheme")
return false
}
return SpartanParsedURL(*parsed, input)
return SpartanParsedURL(parsed, input)
}
// SpartanParsedURL fetches u and displays the page
func SpartanParsedURL(u url.URL, input string) bool {
func SpartanParsedURL(u *url.URL, input string) bool {
host := u.Host
if u.Port() == "" {
host += ":300"
@ -62,7 +70,7 @@ func SpartanParsedURL(u url.URL, input string) bool {
fmt.Println("invalid status code:" + statusParts[0])
return false
}
meta := statusParts[1]
meta := strings.Trim(statusParts[1], "\r\n")
// Handle status
switch status {
@ -79,8 +87,7 @@ func SpartanParsedURL(u url.URL, input string) bool {
body := string(bodyBytes)
fmt.Print(body)
case 3:
fmt.Println(u.Host + meta)
SpartanURL("spartan://" + u.Host + meta, "")
SpartanURL("spartan://"+host+meta, "")
case 4:
fmt.Println("Error: " + meta)
case 5:
@ -92,11 +99,11 @@ func SpartanParsedURL(u url.URL, input string) bool {
func Usage() {
fmt.Fprintln(os.Stderr, `
Usage: sparte [--help] [URL] [-i INPUT] [-f FILE]
Usage: sparte [--help] [URL] [-i INPUT] [-f FILE]
--help usage
-i send INPUT to URL
-f send contents of FILE as input to UR
--help usage
-i send INPUT to URL
-f send contents of FILE as input to UR
`)
return
@ -116,7 +123,7 @@ func main() {
return
}
if arg == "-i" || arg == "-f" {
if len(args) < i+2 || (i==0 && len(args) < i+3) {
if len(args) < i+2 || (i == 0 && len(args) < i+3) {
fmt.Println("input arument or URL missing")
return
}