mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-08 18:04:14 +01:00
Assume validated url.URL for NewActorID
This commit is contained in:
parent
6e4467d49d
commit
e69e5df089
1 changed files with 15 additions and 5 deletions
|
@ -31,8 +31,9 @@ type RepositoryId struct {
|
||||||
ActorId
|
ActorId
|
||||||
}
|
}
|
||||||
|
|
||||||
func newActorId(uri, source string) (ActorId, error) {
|
// newActorId receives already validated inputs
|
||||||
validatedUri, _ := url.Parse(uri) // ToDo: Why no err treatment at this place?
|
func newActorId(validatedUri *url.URL, source string) (ActorId, error) {
|
||||||
|
|
||||||
pathWithActorID := strings.Split(validatedUri.Path, "/")
|
pathWithActorID := strings.Split(validatedUri.Path, "/")
|
||||||
if containsEmptyString(pathWithActorID) {
|
if containsEmptyString(pathWithActorID) {
|
||||||
pathWithActorID = removeEmptyStrings(pathWithActorID)
|
pathWithActorID = removeEmptyStrings(pathWithActorID)
|
||||||
|
@ -48,7 +49,7 @@ func newActorId(uri, source string) (ActorId, error) {
|
||||||
result.Host = validatedUri.Hostname()
|
result.Host = validatedUri.Hostname()
|
||||||
result.Path = pathWithoutActorID
|
result.Path = pathWithoutActorID
|
||||||
result.Port = validatedUri.Port()
|
result.Port = validatedUri.Port()
|
||||||
result.UnvalidatedInput = uri
|
result.UnvalidatedInput = validatedUri.String()
|
||||||
|
|
||||||
if valid, err := result.IsValid(); !valid {
|
if valid, err := result.IsValid(); !valid {
|
||||||
return ActorId{}, err
|
return ActorId{}, err
|
||||||
|
@ -62,8 +63,12 @@ func NewPersonId(uri string, source string) (PersonId, error) {
|
||||||
//if !validation.IsValidExternalURL(uri) {
|
//if !validation.IsValidExternalURL(uri) {
|
||||||
// return PersonId{}, fmt.Errorf("uri %s is not a valid external url", uri)
|
// return PersonId{}, fmt.Errorf("uri %s is not a valid external url", uri)
|
||||||
//}
|
//}
|
||||||
|
validatedUri, err := url.ParseRequestURI(uri) // ToDo: Why no err treatment at this place?
|
||||||
|
if err != nil {
|
||||||
|
return PersonId{}, err
|
||||||
|
}
|
||||||
|
|
||||||
actorId, err := newActorId(uri, source)
|
actorId, err := newActorId(validatedUri, source)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return PersonId{}, err
|
return PersonId{}, err
|
||||||
}
|
}
|
||||||
|
@ -83,7 +88,12 @@ func NewRepositoryId(uri string, source string) (RepositoryId, error) {
|
||||||
return RepositoryId{}, fmt.Errorf("uri %s is not a valid repo url on this host %s", uri, setting.AppURL+"api")
|
return RepositoryId{}, fmt.Errorf("uri %s is not a valid repo url on this host %s", uri, setting.AppURL+"api")
|
||||||
}
|
}
|
||||||
|
|
||||||
actorId, err := newActorId(uri, source)
|
validatedUri, err := url.ParseRequestURI(uri) // ToDo: Why no err treatment at this place?
|
||||||
|
if err != nil {
|
||||||
|
return RepositoryId{}, err
|
||||||
|
}
|
||||||
|
|
||||||
|
actorId, err := newActorId(validatedUri, source)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return RepositoryId{}, err
|
return RepositoryId{}, err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue