]> Cypherpunks repositories - gostls13.git/commitdiff
doc/codelab/wiki: replace curl with a Go program
authorAndrew Gerrand <adg@golang.org>
Thu, 27 Jan 2011 00:32:41 +0000 (10:32 +1000)
committerAndrew Gerrand <adg@golang.org>
Thu, 27 Jan 2011 00:32:41 +0000 (10:32 +1000)
R=rsc, bradfitzgo
CC=golang-dev
https://golang.org/cl/4087043

doc/codelab/wiki/Makefile
doc/codelab/wiki/get.go [new file with mode: 0644]
doc/codelab/wiki/test.sh

index 4bc2d39848c7946c70e39cb9ea4078d6fe3b5ad1..6c2701de59b0c8c1a98419294047ad0771f296fc 100644 (file)
@@ -13,9 +13,9 @@ CLEANFILES+=index.html srcextract.bin htmlify.bin
 index.html: srcextract.bin htmlify.bin
        awk '/^!/{system(substr($$0,2)); next} {print}' "$$@" < wiki.html > index.html
 
-test: final.bin
+test: final.bin get.bin
        bash ./test.sh
-       rm -f final.6 final.bin
+       rm -f final.6 final.bin get.6 get.bin
 
 %.bin: %.$O
        $(LD) -o $@ $<
diff --git a/doc/codelab/wiki/get.go b/doc/codelab/wiki/get.go
new file mode 100644 (file)
index 0000000..92e0c0f
--- /dev/null
@@ -0,0 +1,36 @@
+package main
+
+import (
+       "http"
+       "flag"
+       "io"
+       "log"
+       "os"
+       "strings"
+)
+
+var post = flag.String("post", "", "urlencoded form data to POST")
+
+func main() {
+       flag.Parse()
+       url := flag.Arg(0)
+       if url == "" {
+               log.Exit("no url supplied")
+       }
+       var r *http.Response
+       var err os.Error
+       if *post != "" {
+               b := strings.NewReader(*post)
+               r, err = http.Post(url, "application/x-www-form-urlencoded", b)
+       } else {
+               r, _, err = http.Get(url)
+       }
+       if err != nil {
+               log.Exit(err)
+       }
+       defer r.Body.Close()
+       _, err = io.Copy(os.Stdout, r.Body)
+       if err != nil {
+               log.Exit(err)
+       }
+}
index 5aad5704f121b5697c3e9ec570e74ad903af7408..27c7be66ca20370bea39b61b4c6f1bc70f98021b 100755 (executable)
@@ -12,11 +12,11 @@ trap cleanup INT
 
 sleep 1
 
-curl -s -o test_edit.out http://localhost:8080/edit/Test 
+./get.bin http://localhost:8080/edit/Test > test_edit.out
 diff -u test_edit.out test_edit.good || cleanup 1
-curl -s -o /dev/null -d body=some%20content http://localhost:8080/save/Test
+./get.bin -post=body=some%20content http://localhost:8080/save/Test
 diff -u Test.txt test_Test.txt.good || cleanup 1
-curl -s -o test_view.out http://localhost:8080/view/Test
+./get.bin http://localhost:8080/view/Test > test_view.out
 diff -u test_view.out test_view.good || cleanup 1
 
 echo "Passed"