Skip to content

Commit cbac820

Browse files
authored
Update registry service spec (#4221)
* Update registry service spec - Error payload returned by the server *must* be in the format described in "3.3. Error handling" to ensure consistent handling in SwiftPM. - Add "4.6.2.1. Reserved metadata keys" to list reserved metadata keys such that the server can make some safe assumptions and make use of the metadata. * Address feedback
1 parent 62103db commit cbac820

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

Documentation/Registry.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
- [4.6. Create a package release](#46-create-a-package-release)
2626
- [4.6.1. Source archive](#461-source-archive)
2727
- [4.6.2. Package release metadata](#462-package-release-metadata)
28+
- [4.6.2.1. Reserved metadata keys](#4621-reserved-metadata-keys)
2829
- [4.6.3. Synchronous and asynchronous publication](#463-synchronous-and-asynchronous-publication)
2930
- [4.6.3.1. Synchronous publication](#4631-synchronous-publication)
3031
- [4.6.3.2. Asynchronous publication](#4632-asynchronous-publication)
@@ -98,7 +99,7 @@ like [OAuth 2.0][RFC 6749] is RECOMMENDED.
9899

99100
### 3.3. Error handling
100101

101-
A server SHOULD communicate any errors to the client
102+
A server MUST communicate any errors to the client
102103
using "problem details" objects,
103104
as described by [RFC 7807].
104105
For example,
@@ -1031,6 +1032,14 @@ Content-Language: en
10311032
}
10321033
```
10331034

1035+
##### 4.6.2.1. Reserved metadata keys
1036+
1037+
These metadata keys have special meanings to the server and should be included if and only if their value satisifies their intended use:
1038+
1039+
| Key | Description | Server Use |
1040+
| ----------------- | ---------------------------------------------------- | -------------------------------------- |
1041+
| `repositoryURLs` | An array of the package's source code repository URLs (e.g., `["https://github.com/mona/LinkedList", "ssh://[email protected]:mona/LinkedList.git"]`). | The mappings between package identifer and repository URL get recorded for the [lookup package identifiers by URL](#endpoint-5) endpoint. |
1042+
10341043
#### 4.6.3. Synchronous and asynchronous publication
10351044

10361045
A server MAY respond to a request to publish a new package release

0 commit comments

Comments
 (0)