@@ -179,11 +179,7 @@ func localIndexer(ctx context.Context, cfg *config.Config) (indexer.Service, err
179
179
}
180
180
}
181
181
}
182
- tr := http .DefaultTransport .(* http.Transport ).Clone ()
183
- // Use an empty claim because this shouldn't be talking to something that
184
- // needs preconfigured authz. Callers should be providing credentials to the
185
- // indexing process in the submitted manifest.
186
- c , _ , err := httputil .Client (tr , nil , cfg )
182
+ c , err := httputil .NewClient (ctx , cfg .Indexer .Airgap )
187
183
if err != nil {
188
184
return nil , mkErr (err )
189
185
}
@@ -210,16 +206,19 @@ func remoteIndexer(ctx context.Context, cfg *config.Config, addr string) (indexe
210
206
}
211
207
212
208
func remoteClient (ctx context.Context , cfg * config.Config , claim jwt.Claims , addr string ) (* client.HTTP , error ) {
213
- tr := http .DefaultTransport .(* http.Transport ).Clone ()
214
- c , auth , err := httputil .Client (tr , & claim , cfg )
215
- switch {
216
- case err != nil :
209
+ c , err := httputil .NewClient (ctx , false ) // ???
210
+ if err != nil {
217
211
return nil , err
218
- case ! auth && cfg .Auth .Any ():
219
- return nil , errors .New ("client authorization required but not provided" )
220
- default : // OK
221
212
}
222
- return client .NewHTTP (ctx , client .WithAddr (addr ), client .WithClient (c ))
213
+ opts := []client.Option {client .WithAddr (addr ), client .WithClient (c )}
214
+ if cfg .Auth .Any () {
215
+ s , err := httputil .NewSigner (ctx , cfg , claim )
216
+ if err != nil {
217
+ return nil , err
218
+ }
219
+ opts = append (opts , client .WithSigner (s ))
220
+ }
221
+ return client .NewHTTP (ctx , opts ... )
223
222
}
224
223
225
224
func localMatcher (ctx context.Context , cfg * config.Config ) (matcher.Service , error ) {
@@ -319,8 +318,11 @@ func localNotifier(ctx context.Context, cfg *config.Config, i indexer.Service, m
319
318
}
320
319
}
321
320
322
- tr := http .DefaultTransport .(* http.Transport ).Clone ()
323
- c , _ , err := httputil .Client (tr , & notifierClaim , cfg )
321
+ c , err := httputil .NewClient (ctx , false ) // No airgap flag.
322
+ if err != nil {
323
+ return nil , mkErr (err )
324
+ }
325
+ signer , err := httputil .NewSigner (ctx , cfg , notifierClaim )
324
326
if err != nil {
325
327
return nil , mkErr (err )
326
328
}
@@ -350,6 +352,7 @@ func localNotifier(ctx context.Context, cfg *config.Config, i indexer.Service, m
350
352
Indexer : i ,
351
353
Matcher : m ,
352
354
Client : c ,
355
+ Signer : signer ,
353
356
PollInterval : cfg .Notifier .PollInterval ,
354
357
DisableSummary : cfg .Notifier .DisableSummary ,
355
358
Webhook : cfg .Notifier .Webhook ,
0 commit comments