Check uris before applying them
This commit is contained in:
10
id.go
10
id.go
@@ -10,9 +10,13 @@ type ID struct {
|
||||
URI IRI `xml:",chardata"`
|
||||
}
|
||||
|
||||
// NewID creates a new ID. It returns a *ID.
|
||||
func NewID(uri IRI) *ID {
|
||||
return &ID{URI: IRI(uri)}
|
||||
// NewID creates a new ID. It returns a *ID and an error.
|
||||
func NewID(uri IRI) (*ID, error) {
|
||||
if !isValidIRI(uri) {
|
||||
return nil, fmt.Errorf("uri %v not correctly formatted", uri)
|
||||
}
|
||||
|
||||
return &ID{URI: IRI(uri)}, nil
|
||||
}
|
||||
|
||||
// Check checks the ID for incompatibilities with RFC4287. It returns an error.
|
||||
|
Reference in New Issue
Block a user