@@ -48,12 +48,12 @@ type bundleManager struct {
4848	apiMan                     apiManagerInterface 
4949	concurrentDownloads        int 
5050	markDeploymentFailedAfter  time.Duration 
51- 	bundleDownloadConnTimeout  time.Duration 
5251	bundleRetryDelay           time.Duration 
5352	bundleCleanupDelay         time.Duration 
5453	downloadQueue              chan  * DownloadRequest 
5554	isClosed                   * int32 
5655	workers                    []* BundleDownloader 
56+ 	client                     * http.Client 
5757}
5858
5959type  blobServerResponse  struct  {
@@ -103,7 +103,7 @@ func (bm *bundleManager) makeDownloadRequest(id string) *DownloadRequest {
103103		blobId :        id ,
104104		backoffFunc :   createBackoff (retryIn , maxBackOff ),
105105		markFailedAt :  markFailedAt ,
106- 		connTimeout :   bm .bundleDownloadConnTimeout ,
106+ 		client :         bm .client ,
107107	}
108108}
109109
@@ -158,8 +158,8 @@ type DownloadRequest struct {
158158	blobId         string 
159159	backoffFunc    func ()
160160	markFailedAt   time.Time 
161- 	connTimeout    time.Duration 
162161	blobServerURL  string 
162+ 	client         * http.Client 
163163}
164164
165165func  (r  * DownloadRequest ) downloadBundle () error  {
@@ -172,7 +172,7 @@ func (r *DownloadRequest) downloadBundle() error {
172172		}
173173	}
174174
175- 	downloadedFile , err  :=  downloadFromURI (r .blobServerURL , r .blobId , r .connTimeout )
175+ 	downloadedFile , err  :=  downloadFromURI (r .client , r .blobServerURL , r .blobId )
176176
177177	if  err  !=  nil  {
178178		log .Errorf ("Unable to download blob file blobId=%s err:%v" , r .blobId , err )
@@ -210,7 +210,7 @@ func getBlobFilePath(blobId string) string {
210210	return  path .Join (bundlePath , base64 .StdEncoding .EncodeToString ([]byte (blobId )))
211211}
212212
213- func  getSignedURL (blobServerURL   string ,  blobId  string , bundleDownloadConnTimeout  time. Duration ) (string , error ) {
213+ func  getSignedURL (client   * http. Client ,  blobServerURL  string , blobId   string ) (string , error ) {
214214
215215	blobUri , err  :=  url .Parse (blobServerURL )
216216	if  err  !=  nil  {
@@ -224,7 +224,7 @@ func getSignedURL(blobServerURL string, blobId string, bundleDownloadConnTimeout
224224
225225	uri  :=  blobUri .String ()
226226
227- 	surl , err  :=  getURIReader ( uri ,  bundleDownloadConnTimeout )
227+ 	surl , err  :=  getUriReaderWithAuth ( client ,  uri )
228228	if  err  !=  nil  {
229229		log .Errorf ("Unable to get signed URL from BlobServer %s: %v" , uri , err )
230230		return  "" , err 
@@ -248,12 +248,12 @@ func getSignedURL(blobServerURL string, blobId string, bundleDownloadConnTimeout
248248
249249// downloadFromURI involves retrieving the signed URL for the blob, and storing the resource locally 
250250// after downloading the resource from GCS (via the signed URL) 
251- func  downloadFromURI (blobServerURL   string ,  blobId  string , bundleDownloadConnTimeout  time. Duration ) (tempFileName  string , err  error ) {
251+ func  downloadFromURI (client   * http. Client ,  blobServerURL  string , blobId   string ) (tempFileName  string , err  error ) {
252252
253253	var  tempFile  * os.File 
254254	log .Debugf ("Downloading bundle: %s" , blobId )
255255
256- 	uri , err  :=  getSignedURL (blobServerURL ,  blobId ,  bundleDownloadConnTimeout )
256+ 	uri , err  :=  getSignedURL (client ,  blobServerURL ,  blobId )
257257	if  err  !=  nil  {
258258		log .Errorf ("Unable to get signed URL for blobId {%s}, error : {%v}" , blobId , err )
259259		return 
@@ -268,7 +268,7 @@ func downloadFromURI(blobServerURL string, blobId string, bundleDownloadConnTime
268268	tempFileName  =  tempFile .Name ()
269269
270270	var  confReader  io.ReadCloser 
271- 	confReader , err  =  getURIReader ( uri ,  bundleDownloadConnTimeout )
271+ 	confReader , err  =  getUriReaderWithAuth ( client ,  uri )
272272	if  err  !=  nil  {
273273		log .Errorf ("Unable to retrieve bundle %s: %v" , uri , err )
274274		return 
@@ -286,12 +286,14 @@ func downloadFromURI(blobServerURL string, blobId string, bundleDownloadConnTime
286286}
287287
288288// retrieveBundle retrieves bundle data from a URI 
289- func  getURIReader ( uriString   string ,  bundleDownloadConnTimeout  time. Duration ) (io.ReadCloser , error ) {
290- 
291- 	client   :=  http. Client {
292- 		Timeout :  bundleDownloadConnTimeout , 
289+ func  getUriReaderWithAuth ( client   * http. Client ,  uriString   string ) (io.ReadCloser , error ) {
290+ 	 req ,  err   :=   http . NewRequest ( "GET" ,  uriString ,  nil ) 
291+ 	if   err   !=   nil   {
292+ 		return   nil ,  err 
293293	}
294- 	res , err  :=  client .Get (uriString )
294+ 	// add Auth 
295+ 	req .Header .Add ("Authorization" , getBearerToken ())
296+ 	res , err  :=  client .Do (req )
295297	if  err  !=  nil  {
296298		return  nil , err 
297299	}
0 commit comments