core/internal/domain/utils.go

26 lines
361 B
Go

package domain
import (
"fmt"
"net/url"
)
type InvalidURLError struct {
URL string
}
func (e InvalidURLError) Error() string {
return fmt.Sprintf("'%s': invalid URL", e.URL)
}
func parseURL(rawURL string) (*url.URL, error) {
u, err := url.ParseRequestURI(rawURL)
if err != nil {
return nil, InvalidURLError{
URL: rawURL,
}
}
return u, nil
}