@@ -12,8 +12,8 @@ const path = require('path'); // Require Node.js path
1212const compression = require ( './compression' ) ; // Require compression lib
1313const { ResponseError, FileError } = require ( './errors' ) ; // Require custom errors
1414
15- // Require AWS S3 service
16- const S3 = require ( './s3-service' ) ;
15+ // Lazy load AWS S3 service
16+ const S3 = ( ) => require ( './s3-service' ) ;
1717
1818class RESPONSE {
1919 // Create the constructor function.
@@ -195,7 +195,7 @@ class RESPONSE {
195195
196196 // getSignedUrl doesn't support .promise()
197197 return await new Promise ( ( r ) =>
198- S3 . getSignedUrl ( 'getObject' , params , async ( e , url ) => {
198+ S3 ( ) . getSignedUrl ( 'getObject' , params , async ( e , url ) => {
199199 if ( e ) {
200200 // Execute callback with caught error
201201 await fn ( e ) ;
@@ -336,7 +336,7 @@ class RESPONSE {
336336 let params = UTILS . parseS3 ( filepath ) ;
337337
338338 // Attempt to get the object from S3
339- let data = await S3 . getObject ( params ) . promise ( ) ;
339+ let data = await S3 ( ) . getObject ( params ) . promise ( ) ;
340340
341341 // Set results, type and header
342342 buffer = data . Body ;
0 commit comments