Paket google.golang.org/appengine/urlfetch (Version 1.6.8)

Das Paket „urlfetch“ stellt eine http.RoundTripper-Implementierung zum Abruf von URLs über den „urlfetch“-Dienst von App Engine bereit.

Variablen

ErrTruncatedBody

var ErrTruncatedBody = errors.New("urlfetch: truncated body")

„ErrTruncatedBody“ ist der Fehler, der nach dem endgültigen „Read()“-Vorgang vom Text („Body“) einer Antwort zurückgegeben wird, wenn der Text vom App Engine-Proxy gelöscht wurde.

Funktionen

func Client

func Client(ctx context.Context) *http.Client

„Client“ gibt einen *http.Client mithilfe eines standardmäßigen urlfetch-Transports zurück. Dieser Client prüft die Gültigkeit von SSL-Zertifikaten.

Jede Frist des bereitgestellten Kontexts wird für Requests über diesen Client verwendet. Wenn der Client keine Frist hat, wird eine App Engine-Standardeinstellung von 60 Sekunden verwendet.

Transport

type Transport struct {
	Context context.Context

	// 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“ ist eine Implementierung von http.RoundTripper für App Engine. Nutzer sollten im Allgemeinen mithilfe von „Transport“ einen http.Client erstellen und dann den Client verwenden, statt „Transport“ direkt zu nutzen.

func (*Transport) RoundTrip

func (t *Transport) RoundTrip(req *http.Request) (res *http.Response, err error)

„RoundTrip“ sendet einen einzelnen HTTP-Request und liefert die zugehörige Antwort. Über die http.RoundTripper-Oberfläche gibt „RoundTrip“ nur dann einen Fehler zurück, wenn eine nicht unterstützte Anfrage vorlag oder der URL-Abruf-Proxy fehlschlägt. HTTP-Antwortcodes wie 5xx, 403 und 404 sind im Hinblick auf den Transport keine Fehler und werden mit „err“ auf „nil“ gesetzt zurückgegeben.