aboutsummaryrefslogtreecommitdiff
path: root/utils.go
diff options
context:
space:
mode:
Diffstat (limited to 'utils.go')
-rw-r--r--utils.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/utils.go b/utils.go
index a015b75..a14fdca 100644
--- a/utils.go
+++ b/utils.go
@@ -10,6 +10,7 @@ import (
log "github.com/sirupsen/logrus"
"go.mongodb.org/mongo-driver/bson/primitive"
"io"
+ "net"
"os"
"time"
)
@@ -127,3 +128,26 @@ func CopyFile(dst, src string) error {
}
return out.Close()
}
+
+func ParseIPNet(address string) *net.IPNet {
+ _, network, err := net.ParseCIDR(address)
+ if err != nil {
+ ip := net.ParseIP(address)
+ if ip == nil {
+ return nil
+ }
+
+ size := 0
+ if ip.To4() != nil {
+ size = 32
+ } else {
+ size = 128
+ }
+ network = &net.IPNet{
+ IP: ip,
+ Mask: net.CIDRMask(size, size),
+ }
+ }
+
+ return network
+}