@@ -27,17 +27,17 @@ import (
2727 "github.com/hashicorp/go-version"
2828)
2929
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
3131const (
3232 AcceptJSON = "application/vnd.swift.registry.v1+json"
3333 AcceptSwift = "application/vnd.swift.registry.v1+swift"
3434 AcceptZip = "application/vnd.swift.registry.v1+zip"
3535)
3636
3737var (
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
3939 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
4141 namePattern = regexp .MustCompile (`\A[a-zA-Z0-9][a-zA-Z0-9-_]{0,99}\z` )
4242)
4343
@@ -49,7 +49,7 @@ type headers struct {
4949 Link string
5050}
5151
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
5353func setResponseHeaders (resp http.ResponseWriter , h * headers ) {
5454 if h .ContentType != "" {
5555 resp .Header ().Set ("Content-Type" , h .ContentType )
@@ -69,7 +69,7 @@ func setResponseHeaders(resp http.ResponseWriter, h *headers) {
6969 }
7070}
7171
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
7373func apiError (ctx * context.Context , status int , obj any ) {
7474 // https://www.rfc-editor.org/rfc/rfc7807
7575 type Problem struct {
@@ -91,7 +91,7 @@ func apiError(ctx *context.Context, status int, obj any) {
9191 })
9292}
9393
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
9595func CheckAcceptMediaType (requiredAcceptHeader string ) func (ctx * context.Context ) {
9696 return func (ctx * context.Context ) {
9797 accept := ctx .Req .Header .Get ("Accept" )
@@ -101,6 +101,16 @@ func CheckAcceptMediaType(requiredAcceptHeader string) func(ctx *context.Context
101101 }
102102}
103103
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+
104114func buildPackageID (scope , name string ) string {
105115 return scope + "." + name
106116}
@@ -113,7 +123,7 @@ type EnumeratePackageVersionsResponse struct {
113123 Releases map [string ]Release `json:"releases"`
114124}
115125
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
117127func EnumeratePackageVersions (ctx * context.Context ) {
118128 packageScope := ctx .PathParam ("scope" )
119129 packageName := ctx .PathParam ("name" )
@@ -170,7 +180,7 @@ type PackageVersionMetadataResponse struct {
170180 Metadata * swift_module.SoftwareSourceCode `json:"metadata"`
171181}
172182
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
174184func PackageVersionMetadata (ctx * context.Context ) {
175185 id := buildPackageID (ctx .PathParam ("scope" ), ctx .PathParam ("name" ))
176186
@@ -228,7 +238,7 @@ func PackageVersionMetadata(ctx *context.Context) {
228238 })
229239}
230240
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
232242func DownloadManifest (ctx * context.Context ) {
233243 packageScope := ctx .PathParam ("scope" )
234244 packageName := ctx .PathParam ("name" )
@@ -280,7 +290,7 @@ func DownloadManifest(ctx *context.Context) {
280290 })
281291}
282292
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
284294func UploadPackageFile (ctx * context.Context ) {
285295 packageScope := ctx .PathParam ("scope" )
286296 packageName := ctx .PathParam ("name" )
@@ -379,7 +389,7 @@ func UploadPackageFile(ctx *context.Context) {
379389 ctx .Status (http .StatusCreated )
380390}
381391
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
383393func DownloadPackageFile (ctx * context.Context ) {
384394 pv , err := packages_model .GetVersionByNameAndVersion (ctx , ctx .Package .Owner .ID , packages_model .TypeSwift , buildPackageID (ctx .PathParam ("scope" ), ctx .PathParam ("name" )), ctx .PathParam ("version" ))
385395 if err != nil {
@@ -420,7 +430,7 @@ type LookupPackageIdentifiersResponse struct {
420430 Identifiers []string `json:"identifiers"`
421431}
422432
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
424434func LookupPackageIdentifiers (ctx * context.Context ) {
425435 url := ctx .FormTrim ("url" )
426436 if url == "" {
0 commit comments