import "appengine/urlfetch"
Introduction
Package urlfetch provides an http.RoundTripper implementation for fetching URLs via App Engine's urlfetch service.
Index
- Variables
- func Client(context appengine.Context) *http.Client
- type Transport
- func (t *Transport) RoundTrip(req *http.Request) (res *http.Response, err error)
Variables
var ErrTruncatedBody = errors.New("urlfetch: truncated body")
ErrTruncatedBody is the error returned after the final Read() from a response's Body if the body has been truncated by App Engine's proxy.
func Client
func Client(context appengine.Context) *http.Client
Client returns an *http.Client using a default urlfetch Transport. This client will have the default deadline of 5 seconds, and will check the validity of SSL certificates.
type Transport
type Transport struct { Context appengine.Context Deadline time.Duration // zero means 5-second default // Controls whether the application checks the validity of SSL certificates // over HTTPS connections. A value of false (the default) instructs the // application to send a request to the server only if the certificate is // valid and signed by a trusted certificate authority (CA), and also // includes a hostname that matches the certificate. A value of true // instructs the application to perform no certificate validation. AllowInvalidServerCertificate bool }
Transport is an implementation of http.RoundTripper for App Engine. Users should generally create an http.Client using this transport and use the Client rather than using this transport directly.
func (*Transport) RoundTrip
func (t *Transport) RoundTrip(req *http.Request) (res *http.Response, err error)
RoundTrip issues a single HTTP request and returns its response. Per the http.RoundTripper interface, RoundTrip only returns an error if there was an unsupported request or the URL Fetch proxy fails. Note that HTTP response codes such as 5xx, 403, 404, etc are not errors as far as the transport is concerned and will be returned with err set to nil.