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