Skip to content

Commit fc1d4eb

Browse files
committed
refactor: standardize URL validation and move it to config package
1 parent abcc803 commit fc1d4eb

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

config/config.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ func Load(data []byte) (Config, error) {
157157
data, err := decodeBase64URI(im.Value)
158158
if err != nil {
159159
// try external URL
160-
errUrl := validateUrl(im.Value)
160+
errUrl := ValidateUrl(im.Value)
161161
if errUrl != nil {
162162
return Config{}, fmt.Errorf("Image %d error: bad base64 format[%w], bad Url format [%w]", i, err, errUrl)
163163
}
@@ -229,7 +229,7 @@ func decodeBase64URI(s string) ([]byte, error) {
229229
return decodedData, nil
230230
}
231231

232-
func validateUrl(urlStr string) error {
232+
func ValidateUrl(urlStr string) error {
233233
u, err := url.Parse(urlStr)
234234
if err != nil {
235235
return fmt.Errorf("invalid URL format: %v", err)

ical/parse.go

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -165,11 +165,13 @@ func (p *Parser) buildNotification(event *ics.VEvent) notify.Notification {
165165
n.ImageName = image.Name
166166
}
167167
} else {
168-
// only external Url
169-
// check https TODO
170-
if seemsImageFile(imageUrlProp.Value) {
171-
n.ImageUrl = imageUrlProp.Value
172-
n.ImageName = imageUrlProp.Value
168+
// TODO move validation from config
169+
err := config.ValidateUrl(imageUrlProp.Value)
170+
if err == nil {
171+
if seemsImageFile(imageUrlProp.Value) {
172+
n.ImageUrl = imageUrlProp.Value
173+
n.ImageName = imageUrlProp.Value
174+
}
173175
}
174176
}
175177
}

0 commit comments

Comments
 (0)