regsitry preference header should be a comma separated list
Opened this issue · 0 comments
We should allow the registry preference header (Julia-Registry-Preference
) to not just be a single value, but a comma-separated list. The Pkg server should attempt to serve each registry flavor, in order. The client can use the meta-flavor default
to allow the PkgServer to make an informed decision, and if none of the choices can be found, /registries
should return 404. If the header is missing, it is assumed to be equal to default
, thereby maintaining the current behavior.
Examples:
Julia-Registry-Preference: super-conservative, conservative
Let us imagine that this is a hypothetical Julia v2.3 client, which knows about the existence of the super-conservative
flavor, but allows fallback to the conservative
flavor if the server doesn't serve the former. In this scenario, if the server does not serve either kind, it should return a 404.
Julia-Registry-Preference: eager, conservative, default
This will select the eager
flavor first, if it exists, and if it doesn't it chooses conservative
, then finally falling back to whatever flavor the PkgServer thinks is best. This is a convenient way to future-proof clients against naming changes.