@@ -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