Use a custom http client when connecting to aws (#1945)

Signed-off-by: Christian Burke <cr0ax64@gmail.com>
This commit is contained in:
cr0ax 2022-06-11 18:21:11 -07:00 committed by GitHub
parent 0c64c988d5
commit f4392a9e6f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3,9 +3,11 @@ package storageproviders
import (
"bufio"
"fmt"
"net/http"
"os"
"path/filepath"
"strings"
"time"
"github.com/owncast/owncast/core/data"
"github.com/owncast/owncast/core/playlist"
@ -176,6 +178,14 @@ func (s *S3Storage) Save(filePath string, retryCount int) (string, error) {
}
func (s *S3Storage) connectAWS() *session.Session {
t := http.DefaultTransport.(*http.Transport).Clone()
t.MaxIdleConnsPerHost = 100
httpClient := &http.Client{
Timeout: 10 * time.Second,
Transport: t,
}
creds := credentials.NewStaticCredentials(s.s3AccessKey, s.s3Secret, "")
_, err := creds.Get()
if err != nil {
@ -184,6 +194,7 @@ func (s *S3Storage) connectAWS() *session.Session {
sess, err := session.NewSession(
&aws.Config{
HTTPClient: httpClient,
Region: aws.String(s.s3Region),
Credentials: creds,
Endpoint: aws.String(s.s3Endpoint),