mirror of
https://github.com/golang/go
synced 2024-11-21 23:14:40 -07:00
net/http: add some examples
R=golang-dev, dsymonds, adg, rogpeppe, bradfitz CC=golang-dev https://golang.org/cl/5673052
This commit is contained in:
parent
f3c3130685
commit
3a317183a1
51
src/pkg/net/http/example_test.go
Normal file
51
src/pkg/net/http/example_test.go
Normal file
@ -0,0 +1,51 @@
|
||||
// Copyright 2012 The Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package http_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"log"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func ExampleHijacker() {
|
||||
http.HandleFunc("/hijack", func(w http.ResponseWriter, r *http.Request) {
|
||||
hj, ok := w.(http.Hijacker)
|
||||
if !ok {
|
||||
http.Error(w, "webserver doesn't support hijacking", http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
conn, bufrw, err := hj.Hijack()
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
// Don't forget to close the connection:
|
||||
defer conn.Close()
|
||||
bufrw.WriteString("Now we're speaking raw TCP. Say hi: ")
|
||||
bufrw.Flush()
|
||||
s, err := bufrw.ReadString('\n')
|
||||
if err != nil {
|
||||
log.Printf("error reading string: %v", err)
|
||||
return
|
||||
}
|
||||
fmt.Fprintf(bufrw, "You said: %q\nBye.\n", s)
|
||||
bufrw.Flush()
|
||||
})
|
||||
}
|
||||
|
||||
func ExampleGet() {
|
||||
res, err := http.Get("http://www.google.com/robots.txt")
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
robots, err := ioutil.ReadAll(res.Body)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
res.Body.Close()
|
||||
fmt.Printf("%s", robots)
|
||||
}
|
Loading…
Reference in New Issue
Block a user