google.golang.org/appengine/urlfetch 패키지(v1.6.8)

urlfetch 패키지는 App Engine의 urlfetch 서비스를 통해 URL을 가져오기 위한 http.RoundTripper 구현을 제공합니다.

변수

ErrTruncatedBody

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

ErrTruncatedBody는 응답의 본문이 App Engine의 프록시에 의해 잘린 경우 응답에서 마지막 Read()를 실행한 후에 반환되는 오류입니다.

함수

func Client

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

Client는 기본 urlfetch Transport를 사용하여 *http.Client를 반환합니다. 이 클라이언트는 SSL 인증서의 유효성을 검사합니다.

이 클라이언트를 통과하는 요청에는 제공된 환경설정의 모든 기한이 사용됩니다. 클라이언트에 기한이 없으면 App Engine 기본값 60초가 사용됩니다.

전송

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는 App Engine의 http.RoundTripper를 구현합니다. 일반적으로 사용자는 이 전송을 사용하여 http.Client를 만들고 이 전송을 직접 사용하는 대신 Client를 사용해야 합니다.

func (*Transport) RoundTrip

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

RoundTrip은 단일 HTTP 요청을 전송하고 응답을 반환합니다. http.RoundTripper 인터페이스에 따라 RoundTrip은 지원되지 않는 요청이 있거나 URL Fetch 프록시가 실패할 때만 오류를 반환합니다. 전송과 관련하여 5xx, 403, 404 등의 HTTP 응답 코드는 오류로 간주되지 않으며 반환 시 err이 nil로 설정됩니다.