Skip to content

Instantly share code, notes, and snippets.

@kidoman
Created September 23, 2014 03:52
Show Gist options
  • Save kidoman/8f996e74d261e9d6de90 to your computer and use it in GitHub Desktop.
Save kidoman/8f996e74d261e9d6de90 to your computer and use it in GitHub Desktop.
Whats wrong with this?
package web
import (
"io"
"net"
"net/http"
"appengine"
"appengine/socket"
)
func init() {
http.HandleFunc("/", handler)
}
func handler(w http.ResponseWriter, r *http.Request) {
c := appengine.NewContext(r)
transport := &http.Transport{
Dial: func(network, addr string) (net.Conn, error) {
c.Infof("connecting socket to %v/%v", network, addr)
conn, err := socket.Dial(c, network, addr)
c.Infof("connected socket to %v/%v", network, addr)
return conn, err
},
}
client := &http.Client{
Transport: transport,
}
resp, err := client.Get("http://www.google.com")
if err != nil {
panic(err)
}
defer resp.Body.Close()
io.Copy(w, resp.Body)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment