net/http/client.go

38 lines
622 B
Go

package http
import (
"git.3crabs.ru/VLADIMIR/net/url"
)
type Client struct {
DNS DNS
Transport RoundTripper
}
func (c *Client) Do(method string, rawURl string, headers []Header) (*Response, error) {
u, err := url.Parse(rawURl)
if err != nil {
return nil, err
}
connectPath := ""
if c.DNS != nil {
var err error
connectPath, err = c.DNS.GetIP(u.Host)
if err != nil {
return nil, err
}
}
resp, err := c.Transport.RoundTrip(
&Request{
ConnectPath: connectPath,
Method: method,
URL: u,
Protocol: "HTTP/1.0",
Headers: headers,
},
)
return resp, err
}