reusing http connections

This commit is contained in:
Chris Lu 2014-03-12 14:07:01 -07:00
parent 054374c765
commit c3ce024fc1

View file

@ -21,6 +21,16 @@ type UploadResult struct {
Error string Error string
} }
var (
client *http.Client
)
func init() {
client = &http.Client{Transport: &http.Transport{
MaxIdleConnsPerHost: 1024,
}}
}
var fileNameEscaper = strings.NewReplacer("\\", "\\\\", "\"", "\\\"") var fileNameEscaper = strings.NewReplacer("\\", "\\\\", "\"", "\\\"")
func Upload(uploadUrl string, filename string, reader io.Reader, isGzipped bool, mtype string) (*UploadResult, error) { func Upload(uploadUrl string, filename string, reader io.Reader, isGzipped bool, mtype string) (*UploadResult, error) {
@ -57,7 +67,7 @@ func upload_content(uploadUrl string, fillBufferFunction func(w io.Writer) error
glog.V(0).Infoln("error closing body", err) glog.V(0).Infoln("error closing body", err)
return nil, err return nil, err
} }
resp, err := http.Post(uploadUrl, content_type, body_buf) resp, err := client.Post(uploadUrl, content_type, body_buf)
if err != nil { if err != nil {
glog.V(0).Infoln("failing to upload to", uploadUrl, err.Error()) glog.V(0).Infoln("failing to upload to", uploadUrl, err.Error())
return nil, err return nil, err