@@ -311,30 +311,22 @@ func awss3(w http.ResponseWriter, r *http.Request) {
311
311
}
312
312
313
313
func s3get (backet , key string ) (* s3.GetObjectOutput , error ) {
314
- sess , err := awsSession ()
315
- if err != nil {
316
- return nil , err
317
- }
318
314
req := & s3.GetObjectInput {
319
315
Bucket : aws .String (backet ),
320
316
Key : aws .String (key ),
321
317
}
322
- return s3 .New (sess ).GetObject (req )
318
+ return s3 .New (awsSession () ).GetObject (req )
323
319
}
324
320
325
321
func s3listFiles (w http.ResponseWriter , r * http.Request , backet , key string ) {
326
- sess , serr := awsSession ()
327
- if serr != nil {
328
- http .Error (w , serr .Error (), http .StatusInternalServerError )
329
- }
330
322
if strings .HasSuffix (key , "/" ) {
331
323
key = key [:len (key )- 1 ]
332
324
}
333
325
req := & s3.ListObjectsInput {
334
326
Bucket : aws .String (backet ),
335
327
Prefix : aws .String (key ),
336
328
}
337
- result , err := s3 .New (sess ).ListObjects (req )
329
+ result , err := s3 .New (awsSession () ).ListObjects (req )
338
330
if err != nil {
339
331
code , message := awsError (err )
340
332
http .Error (w , message , code )
@@ -352,19 +344,15 @@ func s3listFiles(w http.ResponseWriter, r *http.Request, backet, key string) {
352
344
http .Error (w , string (bytes ), http .StatusOK )
353
345
}
354
346
355
- func awsSession () ( * session.Session , error ) {
347
+ func awsSession () * session.Session {
356
348
config := & aws.Config {
357
349
Region : aws .String (c .awsRegion ),
358
350
}
359
351
if len (c .awsAPIEndpoint ) > 0 {
360
352
config .Endpoint = aws .String (c .awsAPIEndpoint )
353
+ config .S3ForcePathStyle = aws .Bool (true )
361
354
}
362
- sess , err := session .NewSession (config )
363
- if err != nil {
364
- log .Printf ("[service] unable to create aws session: %s" , err )
365
- return nil , err
366
- }
367
- return sess , nil
355
+ return session .Must (session .NewSession (config ))
368
356
}
369
357
370
358
func setStrHeader (w http.ResponseWriter , key string , value * string ) {
0 commit comments