@@ -19,7 +19,7 @@ type flags struct {
1919 db.Config
2020 debug bool
2121 version bool
22- domain string
22+ addr string
2323 serverPort uint
2424 network string
2525 adminTwinID uint64
@@ -58,7 +58,7 @@ func Run() error {
5858 flag .BoolVar (& f .version , "v" , false , "shows the package version" )
5959 flag .BoolVar (& f .debug , "debug" , false , "allow debug logs" )
6060 flag .UintVar (& f .serverPort , "server-port" , 8080 , "server port" )
61- flag .StringVar (& f .domain , "domain " , "" , "domain on which the server will be served" )
61+ flag .StringVar (& f .addr , "address " , "" , "address or domain on which the server will be served" )
6262 flag .StringVar (& f .network , "network" , "dev" , "the registrar network" )
6363 flag .Uint64Var (& f .adminTwinID , "admin-twin-id" , 1 , "admin twin ID" )
6464
@@ -96,7 +96,7 @@ func Run() error {
9696
9797 log .Info ().Msgf ("server is running on port :%d" , f .serverPort )
9898
99- err = s .Run (fmt .Sprintf ("%s:%d" , f .domain , f .serverPort ))
99+ err = s .Run (fmt .Sprintf ("%s:%d" , f .addr , f .serverPort ))
100100 if err != nil {
101101 return errors .Wrap (err , "failed to run gin server" )
102102 }
@@ -120,8 +120,20 @@ func (f flags) validate() error {
120120 return errors .Errorf ("invalid admin twin id %d, admin twin id should not be 0" , f .adminTwinID )
121121 }
122122
123- if _ , err := net .LookupHost (f .domain ); err != nil {
124- return errors .Wrapf (err , "invalid domain %s" , f .domain )
123+ if strings .TrimSpace (f .addr ) == "" {
124+ return errors .New ("invalid domain/address, should not be empty" )
125+ }
126+
127+ // Skip validation for common binding addresses
128+ if f .addr == "0.0.0.0" || f .addr == "localhost" || f .addr == "127.0.0.1" {
129+ return f .Config .Validate ()
130+ }
131+
132+ if net .ParseIP (f .addr ) == nil {
133+ // if not valid IP address, check if valid domain
134+ if _ , err := net .LookupHost (f .addr ); err != nil {
135+ return errors .Wrapf (err , "invalid domain %s" , f .addr )
136+ }
125137 }
126138
127139 return f .Validate ()
0 commit comments