yttopodcast/cmd/googleurltest/main.go
HeshamTB 92dddc7ebe cmd: testing commands
Signed-off-by: HeshamTB <hishaminv@gmail.com>
2024-08-14 14:42:02 +03:00

58 lines
1.1 KiB
Go

package main
import (
"fmt"
"net/http"
"net/url"
"os"
"strconv"
"time"
)
func main() {
if len(os.Args) < 2 {
fmt.Println(os.Args[0], " <url>")
os.Exit(1)
}
url, err := url.Parse(os.Args[1])
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
fmt.Printf("url.Query(): %+v\n", url.Query())
resp, err := http.Get(url.String())
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
if resp.StatusCode != 200 {
fmt.Printf("http: got %d\n", resp.StatusCode)
}
if url != resp.Request.URL {
fmt.Printf("resp.Request.URL: %+v\n", resp.Request.URL)
fmt.Printf("resp.Request.URL.Query(): %+v\n", resp.Request.URL.Query())
}
time_s := url.Query().Get("expire")
if time_s == "" {
fmt.Println("url: expire key missing")
os.Exit(1)
}
time_ss, err := strconv.ParseInt(time_s, 10, 64)
if err != nil {
fmt.Println(err.Error())
os.Exit(1)
}
unix := time.Unix(time_ss, 0)
duration := unix.Sub(time.Now())
fmt.Printf("duration.String(): %v\n", duration.String())
}