@@ -27,17 +27,17 @@ import (
27
27
"github.com/hashicorp/go-version"
28
28
)
29
29
30
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#35-api-versioning
30
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#35-api-versioning
31
31
const (
32
32
AcceptJSON = "application/vnd.swift.registry.v1+json"
33
33
AcceptSwift = "application/vnd.swift.registry.v1+swift"
34
34
AcceptZip = "application/vnd.swift.registry.v1+zip"
35
35
)
36
36
37
37
var (
38
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#361-package-scope
38
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#361-package-scope
39
39
scopePattern = regexp .MustCompile (`\A[a-zA-Z0-9][a-zA-Z0-9-]{0,38}\z` )
40
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#362-package-name
40
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#362-package-name
41
41
namePattern = regexp .MustCompile (`\A[a-zA-Z0-9][a-zA-Z0-9-_]{0,99}\z` )
42
42
)
43
43
@@ -49,7 +49,7 @@ type headers struct {
49
49
Link string
50
50
}
51
51
52
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#35-api-versioning
52
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#35-api-versioning
53
53
func setResponseHeaders (resp http.ResponseWriter , h * headers ) {
54
54
if h .ContentType != "" {
55
55
resp .Header ().Set ("Content-Type" , h .ContentType )
@@ -69,7 +69,7 @@ func setResponseHeaders(resp http.ResponseWriter, h *headers) {
69
69
}
70
70
}
71
71
72
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#33-error-handling
72
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#33-error-handling
73
73
func apiError (ctx * context.Context , status int , obj any ) {
74
74
// https://www.rfc-editor.org/rfc/rfc7807
75
75
type Problem struct {
@@ -91,7 +91,7 @@ func apiError(ctx *context.Context, status int, obj any) {
91
91
})
92
92
}
93
93
94
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#35-api-versioning
94
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#35-api-versioning
95
95
func CheckAcceptMediaType (requiredAcceptHeader string ) func (ctx * context.Context ) {
96
96
return func (ctx * context.Context ) {
97
97
accept := ctx .Req .Header .Get ("Accept" )
@@ -101,6 +101,16 @@ func CheckAcceptMediaType(requiredAcceptHeader string) func(ctx *context.Context
101
101
}
102
102
}
103
103
104
+ // https://github.com/swiftlang/swift-package-manager/blob/main/Documentation/PackageRegistry/PackageRegistryUsage.md#registry-authentication
105
+ func CheckAuthenticate (ctx * context.Context ) {
106
+ if ctx .Doer == nil {
107
+ apiError (ctx , http .StatusUnauthorized , nil )
108
+ return
109
+ }
110
+
111
+ ctx .Status (http .StatusOK )
112
+ }
113
+
104
114
func buildPackageID (scope , name string ) string {
105
115
return scope + "." + name
106
116
}
@@ -113,7 +123,7 @@ type EnumeratePackageVersionsResponse struct {
113
123
Releases map [string ]Release `json:"releases"`
114
124
}
115
125
116
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#41-list-package-releases
126
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#41-list-package-releases
117
127
func EnumeratePackageVersions (ctx * context.Context ) {
118
128
packageScope := ctx .PathParam ("scope" )
119
129
packageName := ctx .PathParam ("name" )
@@ -170,7 +180,7 @@ type PackageVersionMetadataResponse struct {
170
180
Metadata * swift_module.SoftwareSourceCode `json:"metadata"`
171
181
}
172
182
173
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#endpoint-2
183
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#endpoint-2
174
184
func PackageVersionMetadata (ctx * context.Context ) {
175
185
id := buildPackageID (ctx .PathParam ("scope" ), ctx .PathParam ("name" ))
176
186
@@ -228,7 +238,7 @@ func PackageVersionMetadata(ctx *context.Context) {
228
238
})
229
239
}
230
240
231
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#43-fetch-manifest-for-a-package-release
241
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#43-fetch-manifest-for-a-package-release
232
242
func DownloadManifest (ctx * context.Context ) {
233
243
packageScope := ctx .PathParam ("scope" )
234
244
packageName := ctx .PathParam ("name" )
@@ -280,7 +290,7 @@ func DownloadManifest(ctx *context.Context) {
280
290
})
281
291
}
282
292
283
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#endpoint-6
293
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#endpoint-6
284
294
func UploadPackageFile (ctx * context.Context ) {
285
295
packageScope := ctx .PathParam ("scope" )
286
296
packageName := ctx .PathParam ("name" )
@@ -379,7 +389,7 @@ func UploadPackageFile(ctx *context.Context) {
379
389
ctx .Status (http .StatusCreated )
380
390
}
381
391
382
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#endpoint-4
392
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#endpoint-4
383
393
func DownloadPackageFile (ctx * context.Context ) {
384
394
pv , err := packages_model .GetVersionByNameAndVersion (ctx , ctx .Package .Owner .ID , packages_model .TypeSwift , buildPackageID (ctx .PathParam ("scope" ), ctx .PathParam ("name" )), ctx .PathParam ("version" ))
385
395
if err != nil {
@@ -420,7 +430,7 @@ type LookupPackageIdentifiersResponse struct {
420
430
Identifiers []string `json:"identifiers"`
421
431
}
422
432
423
- // https://github.com/apple /swift-package-manager/blob/main/Documentation/Registry.md#endpoint-5
433
+ // https://github.com/swiftlang /swift-package-manager/blob/main/Documentation/PackageRegistry /Registry.md#endpoint-5
424
434
func LookupPackageIdentifiers (ctx * context.Context ) {
425
435
url := ctx .FormTrim ("url" )
426
436
if url == "" {
0 commit comments