Add interactive configuration
This adds a new --config flag and rearranges some config fields.
This commit is contained in:
41
config/validation.go
Normal file
41
config/validation.go
Normal file
@@ -0,0 +1,41 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"regexp"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
var (
|
||||
domainReg = regexp.MustCompile("^https?://")
|
||||
)
|
||||
|
||||
const (
|
||||
minPort = 80
|
||||
maxPort = 1<<16 - 1
|
||||
)
|
||||
|
||||
func validateDomain(i string) error {
|
||||
if !domainReg.MatchString(i) {
|
||||
return fmt.Errorf("Domain must start with http:// or https://")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func validatePort(i string) error {
|
||||
p, err := strconv.Atoi(i)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if p < minPort || p > maxPort {
|
||||
return fmt.Errorf("Port must be a number %d - %d", minPort, maxPort)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func validateNonEmpty(i string) error {
|
||||
if i == "" {
|
||||
return fmt.Errorf("Must not be empty")
|
||||
}
|
||||
return nil
|
||||
}
|
Reference in New Issue
Block a user