@@ -5,6 +5,7 @@ import processSnapshot, {prepareSnapshot} from "./processSnapshot.js"
55import  {  v4  as  uuidv4  }  from  'uuid' ; 
66import  {  startPolling ,  stopTunnelHelper  }  from  "./utils.js" ; 
77
8+ const  uploadDomToS3ViaEnv  =  process . env . USE_LAMBDA_INTERNAL  ||  false ; 
89export  default  class  Queue  { 
910    private  snapshots : Array < Snapshot >  =  [ ] ; 
1011    private  processedSnapshots : Array < Record < string ,  any > >  =  [ ] ; 
@@ -333,10 +334,16 @@ export default class Queue {
333334                    if  ( useCapsBuildId )  { 
334335                        if  ( useKafkaFlowCaps )  { 
335336                            const  snapshotUuid  =  uuidv4 ( ) ; 
336-                             const  presignedResponse  =  await  this . ctx . client . getS3PresignedURLForSnapshotUploadCaps ( this . ctx ,  processedSnapshot . name ,  snapshotUuid ,  capsBuildId ,  capsProjectToken ) ; 
337-                             const  uploadUrl  =  presignedResponse . data . url ; 
338- 
339-                             await  this . ctx . client . uploadSnapshotToS3Caps ( this . ctx ,  uploadUrl ,  processedSnapshot ,  capsProjectToken ) 
337+                             let  uploadDomToS3  =  this . ctx . config . useLambdaInternal  ||  uploadDomToS3ViaEnv ; 
338+                             if  ( ! uploadDomToS3 )  { 
339+                                 this . ctx . log . debug ( `Uploading dom to S3 for snapshot using presigned URL for CAPS` ) ; 
340+                                 const  presignedResponse  =  await  this . ctx . client . getS3PresignedURLForSnapshotUploadCaps ( this . ctx ,  processedSnapshot . name ,  snapshotUuid ,  capsBuildId ,  capsProjectToken ) ; 
341+                                 const  uploadUrl  =  presignedResponse . data . url ; 
342+                                 await  this . ctx . client . uploadSnapshotToS3Caps ( this . ctx ,  uploadUrl ,  processedSnapshot ,  capsProjectToken ) 
343+                             }  else  { 
344+                                 this . ctx . log . debug ( `Uploading dom to S3 for snapshot using LSRS` ) ; 
345+                                 await  this . ctx . client . sendDomToLSRSForCaps ( this . ctx ,  processedSnapshot ,  snapshotUuid ,  capsBuildId ,  capsProjectToken ) ; 
346+                             } 
340347                            await  this . ctx . client . processSnapshotCaps ( this . ctx ,  processedSnapshot ,  snapshotUuid ,  capsBuildId ,  capsProjectToken ,  discoveryErrors ) ; 
341348                        }  else  { 
342349                            await  this . ctx . client . uploadSnapshotForCaps ( this . ctx ,  processedSnapshot ,  capsBuildId ,  capsProjectToken ,  discoveryErrors ) ; 
@@ -372,10 +379,17 @@ export default class Queue {
372379                        } 
373380                        if  ( this . ctx . build  &&  this . ctx . build . useKafkaFlow )  { 
374381                            const  snapshotUuid  =  uuidv4 ( ) ; 
375-                             const  presignedResponse  =  await  this . ctx . client . getS3PresignedURLForSnapshotUpload ( this . ctx ,  processedSnapshot . name ,  snapshotUuid ) ; 
376-                             const  uploadUrl  =  presignedResponse . data . url ; 
377- 
378-                             let  snapshotUploadResponse  =  await  this . ctx . client . uploadSnapshotToS3 ( this . ctx ,  uploadUrl ,  processedSnapshot ) ; 
382+                             let  snapshotUploadResponse 
383+                             let  uploadDomToS3  =  this . ctx . config . useLambdaInternal  ||  uploadDomToS3ViaEnv ; 
384+                             if  ( ! uploadDomToS3 )  { 
385+                                 this . ctx . log . debug ( `Uploading dom to S3 for snapshot using presigned URL` ) ; 
386+                                 const  presignedResponse  =  await  this . ctx . client . getS3PresignedURLForSnapshotUpload ( this . ctx ,  processedSnapshot . name ,  snapshotUuid ) ; 
387+                                 const  uploadUrl  =  presignedResponse . data . url ; 
388+                                 snapshotUploadResponse  =  await  this . ctx . client . uploadSnapshotToS3 ( this . ctx ,  uploadUrl ,  processedSnapshot ) ; 
389+                             }  else  { 
390+                                 this . ctx . log . debug ( `Uploading dom to S3 for snapshot using LSRS` ) ; 
391+                                 snapshotUploadResponse  =  await  this . ctx . client . sendDomToLSRS ( this . ctx ,  processedSnapshot ,  snapshotUuid ) ; 
392+                             } 
379393                            if  ( ! snapshotUploadResponse  ||  Object . keys ( snapshotUploadResponse ) . length  ===  0 )  { 
380394                                this . ctx . log . debug ( `snapshot failed; Unable to upload dom to S3` ) ; 
381395                                this . processedSnapshots . push ( {  name : snapshot ?. name ,  error : `snapshot failed; Unable to upload dom to S3`  } ) ; 
0 commit comments