Commit 889b31ab authored by Michael Yang's avatar Michael Yang
Browse files

types/model: support : in PartHost for host:port

parent c8afe716
...@@ -521,6 +521,8 @@ func parts(s string) iter_Seq2[PartKind, string] { ...@@ -521,6 +521,8 @@ func parts(s string) iter_Seq2[PartKind, string] {
return return
} }
state, j, partLen = PartModel, i, 0 state, j, partLen = PartModel, i, 0
case PartHost:
// noop: support for host:port
default: default:
yield(PartExtraneous, s[i+1:j]) yield(PartExtraneous, s[i+1:j])
return return
...@@ -678,6 +680,9 @@ func isValidByteFor(kind PartKind, c byte) bool { ...@@ -678,6 +680,9 @@ func isValidByteFor(kind PartKind, c byte) bool {
if kind == PartNamespace && c == '.' { if kind == PartNamespace && c == '.' {
return false return false
} }
if kind == PartHost && c == ':' {
return true
}
if c == '.' || c == '-' { if c == '.' || c == '-' {
return true return true
} }
......
...@@ -40,6 +40,7 @@ var testNames = map[string]fields{ ...@@ -40,6 +40,7 @@ var testNames = map[string]fields{
"user/model": {namespace: "user", model: "model"}, "user/model": {namespace: "user", model: "model"},
"example.com/ns/mistral:7b+Q4_0": {host: "example.com", namespace: "ns", model: "mistral", tag: "7b", build: "Q4_0"}, "example.com/ns/mistral:7b+Q4_0": {host: "example.com", namespace: "ns", model: "mistral", tag: "7b", build: "Q4_0"},
"example.com/ns/mistral:7b+X": {host: "example.com", namespace: "ns", model: "mistral", tag: "7b", build: "X"}, "example.com/ns/mistral:7b+X": {host: "example.com", namespace: "ns", model: "mistral", tag: "7b", build: "X"},
"localhost:5000/ns/mistral": {host: "localhost:5000", namespace: "ns", model: "mistral"},
// invalid digest // invalid digest
"mistral:latest@invalid256-": {}, "mistral:latest@invalid256-": {},
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment