mirror of
https://github.com/golang/go
synced 2024-11-21 21:04:41 -07:00
http: rename ClientTransport to Transport
http.Transport looks nicer, and ServerTransport doesn't make much sense anyway. R=rsc CC=golang-dev https://golang.org/cl/4239056
This commit is contained in:
parent
da679db0f1
commit
7b563be516
@ -20,15 +20,15 @@ import (
|
|||||||
// that uses DefaultTransport.
|
// that uses DefaultTransport.
|
||||||
// Client is not yet very configurable.
|
// Client is not yet very configurable.
|
||||||
type Client struct {
|
type Client struct {
|
||||||
Transport ClientTransport // if nil, DefaultTransport is used
|
Transport Transport // if nil, DefaultTransport is used
|
||||||
}
|
}
|
||||||
|
|
||||||
// DefaultClient is the default Client and is used by Get, Head, and Post.
|
// DefaultClient is the default Client and is used by Get, Head, and Post.
|
||||||
var DefaultClient = &Client{}
|
var DefaultClient = &Client{}
|
||||||
|
|
||||||
// ClientTransport is an interface representing the ability to execute a
|
// Transport is an interface representing the ability to execute a
|
||||||
// single HTTP transaction, obtaining the Response for a given Request.
|
// single HTTP transaction, obtaining the Response for a given Request.
|
||||||
type ClientTransport interface {
|
type Transport interface {
|
||||||
// Do executes a single HTTP transaction, returning the Response for the
|
// Do executes a single HTTP transaction, returning the Response for the
|
||||||
// request req. Do should not attempt to interpret the response.
|
// request req. Do should not attempt to interpret the response.
|
||||||
// In particular, Do must return err == nil if it obtained a response,
|
// In particular, Do must return err == nil if it obtained a response,
|
||||||
@ -104,7 +104,7 @@ func (c *Client) Do(req *Request) (resp *Response, err os.Error) {
|
|||||||
// TODO: support persistent connections (multiple requests on a single connection).
|
// TODO: support persistent connections (multiple requests on a single connection).
|
||||||
// send() method is nonpublic because, when we refactor the code for persistent
|
// send() method is nonpublic because, when we refactor the code for persistent
|
||||||
// connections, it may no longer make sense to have a method with this signature.
|
// connections, it may no longer make sense to have a method with this signature.
|
||||||
func send(req *Request, t ClientTransport) (resp *Response, err os.Error) {
|
func send(req *Request, t Transport) (resp *Response, err os.Error) {
|
||||||
if t == nil {
|
if t == nil {
|
||||||
t = DefaultTransport
|
t = DefaultTransport
|
||||||
if t == nil {
|
if t == nil {
|
||||||
@ -115,7 +115,7 @@ func send(req *Request, t ClientTransport) (resp *Response, err os.Error) {
|
|||||||
|
|
||||||
// Most the callers of send (Get, Post, et al) don't need
|
// Most the callers of send (Get, Post, et al) don't need
|
||||||
// Headers, leaving it uninitialized. We guarantee to the
|
// Headers, leaving it uninitialized. We guarantee to the
|
||||||
// ClientTransport that this has been initialized, though.
|
// Transport that this has been initialized, though.
|
||||||
if req.Header == nil {
|
if req.Header == nil {
|
||||||
req.Header = Header(make(map[string][]string))
|
req.Header = Header(make(map[string][]string))
|
||||||
}
|
}
|
||||||
|
@ -15,18 +15,19 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
|
|
||||||
// DefaultTransport is the default implementation of ClientTransport
|
// DefaultTransport is the default implementation of Transport and is
|
||||||
// and is used by DefaultClient. It establishes a new network connection for
|
// used by DefaultClient. It establishes a new network connection for
|
||||||
// each call to Do and uses HTTP proxies as directed by the $HTTP_PROXY and
|
// each call to Do and uses HTTP proxies as directed by the
|
||||||
// $NO_PROXY (or $http_proxy and $no_proxy) environment variables.
|
// $HTTP_PROXY and $NO_PROXY (or $http_proxy and $no_proxy)
|
||||||
var DefaultTransport ClientTransport = &transport{}
|
// environment variables.
|
||||||
|
var DefaultTransport Transport = &transport{}
|
||||||
|
|
||||||
// transport implements http.ClientTranport for the default case,
|
// transport implements Tranport for the default case, using TCP
|
||||||
// using TCP connections to either the host or a proxy, serving
|
// connections to either the host or a proxy, serving http or https
|
||||||
// http or https schemes. In the future this may become public
|
// schemes. In the future this may become public and support options
|
||||||
// and support options on keep-alive connection duration, pipelining
|
// on keep-alive connection duration, pipelining controls, etc. For
|
||||||
// controls, etc. For now this is simply a port of the old Go code
|
// now this is simply a port of the old Go code client code to the
|
||||||
// client code to the http.ClientTransport interface.
|
// Transport interface.
|
||||||
type transport struct {
|
type transport struct {
|
||||||
// TODO: keep-alives, pipelining, etc using a map from
|
// TODO: keep-alives, pipelining, etc using a map from
|
||||||
// scheme/host to a connection. Something like:
|
// scheme/host to a connection. Something like:
|
||||||
|
Loading…
Reference in New Issue
Block a user