added better id handling
This commit is contained in:
parent
d703fdea5f
commit
78b40626e6
4 changed files with 77 additions and 33 deletions
13
scheme.go
13
scheme.go
|
|
@ -13,14 +13,25 @@ import (
|
|||
const (
|
||||
PVEScheme = "pve"
|
||||
PVESchemeURL = PVEScheme + "://"
|
||||
|
||||
MinID = 100
|
||||
InvalidID = 0
|
||||
)
|
||||
|
||||
var (
|
||||
ErrInvalidPVEURL = errors.New("invalid pve url scheme")
|
||||
ErrNoID = errors.New("missing id in url")
|
||||
ErrInvalidID = errors.New("invalid id")
|
||||
ErrParsingID = errors.New("error parsing id in url")
|
||||
)
|
||||
|
||||
func ValidateID(id int) error {
|
||||
if id < MinID {
|
||||
return ErrInvalidID
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func ParseURL(s string) (pool, node string, id int, err error) {
|
||||
u, err := url.Parse(s)
|
||||
if err != nil {
|
||||
|
|
@ -43,7 +54,7 @@ func ParseURL(s string) (pool, node string, id int, err error) {
|
|||
if err != nil {
|
||||
err = ErrParsingID
|
||||
}
|
||||
return u.Host, a[1], id, nil
|
||||
return u.Host, a[1], id, ValidateID(id)
|
||||
}
|
||||
|
||||
func ServerRefFromURL(s string) (ref *ServerRef, err error) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue