func Do(req *Request, resp *Response) error {
	return defaultClient.Do(req, resp)
}
Do performs the given http request and fills the given http response.

Request must contain at least non-zero RequestURI with full url (including
scheme and host) or non-zero Host header + RequestURI.

Response is ignored if resp is nil.

Client determines the server to be requested in the following order:

- from RequestURI if it contains full url with scheme and host;
- from Host header otherwise.

ErrNoFreeConns is returned if all DefaultMaxConnsPerHost connections
to the requested host are busy.

It is recommended obtaining req and resp via AcquireRequest
and AcquireResponse in performance-critical code.
package fasthttp
import (
	"bufio"
	"bytes"
	"crypto/tls"
	"errors"
	"fmt"
	"io"
	"net"
	"strings"
	"sync"
	"sync/atomic"
	"time"
)