diff --git a/src/gourl/go.mod b/src/gourl/go.mod new file mode 100644 index 0000000000000000000000000000000000000000..6ff37237127ca7b6d95b4850376bb8b662def4ad --- /dev/null +++ b/src/gourl/go.mod @@ -0,0 +1,3 @@ +module github.com/turngeek/examples-go/src/gourl + +go 1.16 diff --git a/src/gourl/main.go b/src/gourl/main.go new file mode 100644 index 0000000000000000000000000000000000000000..46a378e052359c1235ff2ad19cd1ea132f2af557 --- /dev/null +++ b/src/gourl/main.go @@ -0,0 +1,24 @@ +package main + +import ( + "fmt" + "io" + "log" + "net/http" + "os" +) + +func main() { + if len(os.Args) < 2 || len(os.Args) > 3 { + fmt.Println("Usage: gourl [url]") + return + } + url := os.Args[1] + log.Printf("Calling %s ...", url) + response, err := http.Get(url) + if err != nil { + log.Fatalf("Can't read from %s:\n#%v", url, err) + } + io.Copy(os.Stdout, response.Body) + defer response.Body.Close() +}