Conditions | 5 |
Total Lines | 19 |
Code Lines | 12 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | package validate |
||
21 | func URL(value string, schemas ...string) error { |
||
22 | if len(schemas) == 0 { |
||
23 | schemas = []string{"http", "https"} |
||
24 | } |
||
25 | u, err := url.Parse(value) |
||
26 | if err != nil { |
||
27 | return err |
||
28 | } |
||
29 | |||
30 | err = validateSchema(u, schemas) |
||
31 | if err != nil { |
||
32 | return err |
||
33 | } |
||
34 | |||
35 | if !urlRegex.MatchString(value) { |
||
36 | return ErrInvalid |
||
37 | } |
||
38 | |||
39 | return nil |
||
40 | } |
||
51 |