55 "context"
66 "crypto/sha1"
77 "fmt"
8- "io/ioutil"
98 "net/http"
109 "net/url"
1110 "os"
@@ -51,8 +50,6 @@ type s3MediaServer struct {
5150 bucket string
5251 uploadPrefix string
5352 downloadPrefix string
54-
55- ctx context.Context
5653}
5754
5855var _ mediaServer = (* httpPutMediaServer )(nil )
@@ -95,8 +92,6 @@ func createS3MediaServer(bg *config.BridgeValues, parsed *url.URL, logger *logru
9592 bucketName := pathSplitted [0 ]
9693 uploadPrefix := strings .Join (pathSplitted [1 :], "/" )
9794
98- ctx := context .Background ()
99-
10095 var s3BaseUrl string
10196 if useSSL {
10297 s3BaseUrl = "https://" + parsed .Host
@@ -115,7 +110,7 @@ func createS3MediaServer(bg *config.BridgeValues, parsed *url.URL, logger *logru
115110 }).Debug ("configured minio client" )
116111
117112 // This will return an error if the bucket does not exist
118- headBucketResult , err := client .HeadBucket (ctx , & s3.HeadBucketInput {Bucket : aws .String (bucketName )})
113+ headBucketResult , err := client .HeadBucket (context . TODO () , & s3.HeadBucketInput {Bucket : aws .String (bucketName )})
119114 if err != nil {
120115 return nil , fmt .Errorf ("failed checking if bucket exists: %w" , err )
121116 }
@@ -131,7 +126,6 @@ func createS3MediaServer(bg *config.BridgeValues, parsed *url.URL, logger *logru
131126 logger : logger ,
132127 },
133128
134- ctx : ctx ,
135129 s3client : client ,
136130
137131 bucket : bucketName ,
@@ -196,20 +190,22 @@ func (h *httpPutMediaServer) handleFilesUpload(fi *config.FileInfo) (string, err
196190 }
197191 // Use MediaServerUpload. Upload using a PUT HTTP request and basicauth.
198192 sha1sum := fmt .Sprintf ("%x" , sha1 .Sum (* fi .Data ))[:8 ] //nolint:gosec
199- url := h .httpUploadPath + "/" + sha1sum + "/" + fi .Name
193+ uploadUrl := h .httpUploadPath + "/" + sha1sum + "/" + fi .Name
200194
201- req , err := http .NewRequest ("PUT" , url , bytes .NewReader (* fi .Data ))
195+ req , err := http .NewRequest (http . MethodPut , uploadUrl , bytes .NewReader (* fi .Data ))
202196 if err != nil {
203197 return "" , fmt .Errorf ("mediaserver upload failed, could not create request: %#v" , err )
204198 }
205199
206- h .logger .Debugf ("mediaserver upload url: %s" , url )
200+ h .logger .Debugf ("mediaserver upload url: %s" , uploadUrl )
207201
208202 req .Header .Set ("Content-Type" , "binary/octet-stream" )
209- _ , err = client .Do (req )
203+
204+ resp , err := client .Do (req )
210205 if err != nil {
211206 return "" , fmt .Errorf ("mediaserver upload failed, could not Do request: %#v" , err )
212207 }
208+ defer resp .Body .Close ()
213209
214210 return h .httpDownloadPrefix + "/" + sha1sum + "/" + fi .Name , nil
215211}
@@ -227,7 +223,7 @@ func (h *localMediaServer) handleFilesUpload(fi *config.FileInfo) (string, error
227223 path := dir + "/" + fi .Name
228224 h .logger .Debugf ("mediaserver path placing file: %s" , path )
229225
230- err = ioutil .WriteFile (path , * fi .Data , os .ModePerm )
226+ err = os .WriteFile (path , * fi .Data , os .ModePerm )
231227 if err != nil {
232228 return "" , fmt .Errorf ("mediaserver path failed, could not writefile: %s %#v" , err , err )
233229 }
@@ -244,7 +240,7 @@ func (h *s3MediaServer) handleFilesUpload(fi *config.FileInfo) (string, error) {
244240
245241 // We do not bother with multipart uploads for now, as files are expected to be small (less than 5GB).
246242 // If needed, we can implement that later.
247- info , err := h .s3client .PutObject (h . ctx , & s3.PutObjectInput {
243+ info , err := h .s3client .PutObject (context . TODO () , & s3.PutObjectInput {
248244 Bucket : aws .String (h .bucket ),
249245 Key : aws .String (key ),
250246 Body : bytes .NewReader (* fi .Data ),
0 commit comments