@@ -34,6 +34,10 @@ public final class RegistryClient: Cancellable {
34
34
private let authorizationProvider : LegacyHTTPClientConfiguration . AuthorizationProvider ?
35
35
private let jsonDecoder : JSONDecoder
36
36
37
+ // TODO: Both of these make HTTP call to fetch package version metadata.
38
+ // Perhaps one way to optimize is introduce `PackageValidation` that
39
+ // wraps around these, and have it fetch the metadata then feed it to each.
40
+ // This way we would only fetch metadata once per download archive transaction.
37
41
private( set) var checksumTOFU : PackageVersionChecksumTOFU !
38
42
private( set) var signatureValidation : SignatureValidation !
39
43
@@ -1262,94 +1266,94 @@ public enum RegistryError: Error, CustomStringConvertible {
1262
1266
switch self {
1263
1267
case . registryNotConfigured( let scope) :
1264
1268
if let scope = scope {
1265
- return " No registry configured for '\( scope) ' scope "
1269
+ return " no registry configured for '\( scope) ' scope "
1266
1270
} else {
1267
- return " No registry configured'"
1271
+ return " no registry configured'"
1268
1272
}
1269
1273
case . invalidPackageIdentity( let packageIdentity) :
1270
- return " Invalid package identifier '\( packageIdentity) ' "
1274
+ return " invalid package identifier '\( packageIdentity) ' "
1271
1275
case . invalidURL( let url) :
1272
- return " Invalid URL '\( url) ' "
1276
+ return " invalid URL '\( url) ' "
1273
1277
case . invalidResponseStatus( let expected, let actual) :
1274
- return " Invalid registry response status '\( actual) ', expected ' \( expected) ' "
1278
+ return " invalid registry response status '\( actual) ', expected ' \( expected) ' "
1275
1279
case . invalidContentVersion( let expected, let actual) :
1276
- return " Invalid registry response content version '\( actual ?? " " ) ', expected ' \( expected) ' "
1280
+ return " invalid registry response content version '\( actual ?? " " ) ', expected ' \( expected) ' "
1277
1281
case . invalidContentType( let expected, let actual) :
1278
- return " Invalid registry response content type '\( actual ?? " " ) ', expected ' \( expected) ' "
1282
+ return " invalid registry response content type '\( actual ?? " " ) ', expected ' \( expected) ' "
1279
1283
case . invalidResponse:
1280
- return " Invalid registry response"
1284
+ return " invalid registry response"
1281
1285
case . missingSourceArchive:
1282
- return " Missing registry source archive"
1286
+ return " missing registry source archive"
1283
1287
case . invalidSourceArchive:
1284
- return " Invalid registry source archive"
1288
+ return " invalid registry source archive"
1285
1289
case . unsupportedHashAlgorithm( let algorithm) :
1286
- return " Unsupported hash algorithm '\( algorithm) ' "
1290
+ return " unsupported hash algorithm '\( algorithm) ' "
1287
1291
case . failedToComputeChecksum( let error) :
1288
- return " Failed computing registry source archive checksum: \( error) "
1292
+ return " failed computing registry source archive checksum: \( error) "
1289
1293
case . checksumChanged( let latest, let previous) :
1290
- return " The latest checksum '\( latest) ' is different from the previously recorded value ' \( previous) ' "
1294
+ return " the latest checksum '\( latest) ' is different from the previously recorded value ' \( previous) ' "
1291
1295
case . invalidChecksum( let expected, let actual) :
1292
- return " Invalid registry source archive checksum '\( actual) ', expected ' \( expected) ' "
1296
+ return " invalid registry source archive checksum '\( actual) ', expected ' \( expected) ' "
1293
1297
case . pathAlreadyExists( let path) :
1294
- return " Path already exists '\( path) ' "
1298
+ return " path already exists '\( path) ' "
1295
1299
case . failedRetrievingReleases( let registry, let packageIdentity, let error) :
1296
- return " Failed fetching '\( packageIdentity) ' releases list from ' \( registry) ': \( error) "
1300
+ return " failed fetching '\( packageIdentity) ' releases list from ' \( registry) ': \( error) "
1297
1301
case . failedRetrievingReleaseInfo( let registry, let packageIdentity, let version, let error) :
1298
- return " Failed fetching '\( packageIdentity) @ \( version) ' release information from ' \( registry) ': \( error) "
1302
+ return " failed fetching '\( packageIdentity) @ \( version) ' release information from ' \( registry) ': \( error) "
1299
1303
case . failedRetrievingReleaseChecksum( let registry, let packageIdentity, let version, let error) :
1300
- return " Failed fetching '\( packageIdentity) @ \( version) ' release checksum from ' \( registry) ': \( error) "
1304
+ return " failed fetching '\( packageIdentity) @ \( version) ' release checksum from ' \( registry) ': \( error) "
1301
1305
case . failedRetrievingManifest( let registry, let packageIdentity, let version, let error) :
1302
- return " Failed retrieving '\( packageIdentity) @ \( version) ' manifest from ' \( registry) ': \( error) "
1306
+ return " failed retrieving '\( packageIdentity) @ \( version) ' manifest from ' \( registry) ': \( error) "
1303
1307
case . failedDownloadingSourceArchive( let registry, let packageIdentity, let version, let error) :
1304
- return " Failed downloading '\( packageIdentity) @ \( version) ' source archive from ' \( registry) ': \( error) "
1308
+ return " failed downloading '\( packageIdentity) @ \( version) ' source archive from ' \( registry) ': \( error) "
1305
1309
case . failedIdentityLookup( let registry, let scmURL, let error) :
1306
- return " Failed looking up identity for '\( scmURL) ' on ' \( registry) ': \( error) "
1310
+ return " failed looking up identity for '\( scmURL) ' on ' \( registry) ': \( error) "
1307
1311
case . failedLoadingPackageArchive( let path) :
1308
- return " Failed loading package archive at '\( path) ' for publishing "
1312
+ return " failed loading package archive at '\( path) ' for publishing "
1309
1313
case . failedLoadingPackageMetadata( let path) :
1310
- return " Failed loading package metadata at '\( path) ' for publishing "
1314
+ return " failed loading package metadata at '\( path) ' for publishing "
1311
1315
case . failedPublishing( let error) :
1312
- return " Failed publishing: \( error) "
1316
+ return " failed publishing: \( error) "
1313
1317
case . missingPublishingLocation:
1314
- return " Response missing registry source archive"
1318
+ return " response missing registry source archive"
1315
1319
case . serverError( let code, let details) :
1316
- return " Server error \( code) : \( details) "
1320
+ return " server error \( code) : \( details) "
1317
1321
case . unauthorized:
1318
- return " Missing or invalid authentication credentials"
1322
+ return " missing or invalid authentication credentials"
1319
1323
case . authenticationMethodNotSupported:
1320
- return " Authentication method not supported"
1324
+ return " authentication method not supported"
1321
1325
case . forbidden:
1322
- return " Forbidden "
1326
+ return " forbidden "
1323
1327
case . registryNotAvailable( let registry) :
1324
- return " Registry at '\( registry. url) ' is not available at this time, please try again later "
1328
+ return " registry at '\( registry. url) ' is not available at this time, please try again later "
1325
1329
case . packageNotFound:
1326
- return " Package not found on registry"
1330
+ return " package not found on registry"
1327
1331
case . packageVersionNotFound:
1328
- return " Package version not found on registry"
1332
+ return " package version not found on registry"
1329
1333
case . sourceArchiveNotSigned( let registry, let packageIdentity, let version) :
1330
1334
return " ' \( packageIdentity) @ \( version) ' source archive from ' \( registry) ' is not signed "
1331
1335
case . failedLoadingSignature:
1332
- return " Failed loading signature for validation"
1336
+ return " failed loading signature for validation"
1333
1337
case . failedRetrievingSourceArchiveSignature( let registry, let packageIdentity, let version, let error) :
1334
- return " Failed retrieving '\( packageIdentity) @ \( version) ' source archive signature from ' \( registry) ': \( error) "
1338
+ return " failed retrieving '\( packageIdentity) @ \( version) ' source archive signature from ' \( registry) ': \( error) "
1335
1339
case . missingConfiguration( let details) :
1336
- return " Unable to proceed because of missing configuration: \( details) "
1340
+ return " unable to proceed because of missing configuration: \( details) "
1337
1341
case . missingSignatureFormat:
1338
- return " Missing signature format"
1342
+ return " missing signature format"
1339
1343
case . unknownSignatureFormat( let format) :
1340
- return " Unknown signature format: \( format) "
1344
+ return " unknown signature format: \( format) "
1341
1345
case . invalidSignature( let reason) :
1342
- return " Signature is invalid: \( reason) "
1346
+ return " signature is invalid: \( reason) "
1343
1347
case . invalidSigningCertificate( let reason) :
1344
- return " The signing certificate is invalid: \( reason) "
1348
+ return " the signing certificate is invalid: \( reason) "
1345
1349
case . signerNotTrusted:
1346
- return " The signer is not trusted"
1350
+ return " the signer is not trusted"
1347
1351
case . failedToValidateSignature( let error) :
1348
- return " Failed to validate signature: \( error) "
1352
+ return " failed to validate signature: \( error) "
1349
1353
case . signingEntityForReleaseChanged( let package , let version, let latest, let previous) :
1350
- return " The signing entity '\( String ( describing: latest) ) ' for ' \( package ) @ \( version) ' is different from the previously recorded value ' \( previous) ' "
1354
+ return " the signing entity '\( String ( describing: latest) ) ' for ' \( package ) @ \( version) ' is different from the previously recorded value ' \( previous) ' "
1351
1355
case . signingEntityForPackageChanged( let package , let latest, let previous) :
1352
- return " The signing entity '\( String ( describing: latest) ) ' for ' \( package ) ' is different from the previously recorded value ' \( previous) ' "
1356
+ return " the signing entity '\( String ( describing: latest) ) ' for ' \( package ) ' is different from the previously recorded value ' \( previous) ' "
1353
1357
}
1354
1358
}
1355
1359
}
0 commit comments