| package v2 |
| |
| import "regexp" |
| |
| // This file defines regular expressions for use in route definition. These |
| // are also defined in the registry code base. Until they are in a common, |
| // shared location, and exported, they must be repeated here. |
| |
| // RepositoryNameComponentRegexp restricts registtry path components names to |
| // start with at least two letters or numbers, with following parts able to |
| // separated by one period, dash or underscore. |
| var RepositoryNameComponentRegexp = regexp.MustCompile(`[a-z0-9]+(?:[._-][a-z0-9]+)*`) |
| |
| // RepositoryNameRegexp builds on RepositoryNameComponentRegexp to allow 1 to |
| // 5 path components, separated by a forward slash. |
| var RepositoryNameRegexp = regexp.MustCompile(`(?:` + RepositoryNameComponentRegexp.String() + `/){0,4}` + RepositoryNameComponentRegexp.String()) |
| |
| // TagNameRegexp matches valid tag names. From docker/docker:graph/tags.go. |
| var TagNameRegexp = regexp.MustCompile(`[\w][\w.-]{0,127}`) |
| |
| // DigestRegexp matches valid digest types. |
| var DigestRegexp = regexp.MustCompile(`[a-zA-Z0-9-_+.]+:[a-zA-Z0-9-_+.=]+`) |