Simplify the sources

This commit is contained in:
9seconds
2018-07-27 13:46:14 +03:00
parent 6253c21615
commit b86ad07ba9
2 changed files with 19 additions and 25 deletions
+14 -21
View File
@@ -1,11 +1,11 @@
package config
import (
"bytes"
"encoding/hex"
"fmt"
"net"
"strconv"
"strings"
"github.com/juju/errors"
statsd "gopkg.in/alexcesaro/statsd.v2"
@@ -116,28 +116,18 @@ func getAddr(host fmt.Stringer, port uint16) string {
func NewConfig(debug, verbose bool, // nolint: gocyclo
bindIP, publicIPv4, publicIPv6, statsIP net.IP,
bindPort, publicIPv4Port, publicIPv6Port, statsPort, statsdPort uint16,
secret, adtag, statsdIP, statsdNetwork, statsdPrefix, statsdTagsFormat string,
statsdTags map[string]string) (*Config, error) {
statsdIP, statsdNetwork, statsdPrefix, statsdTagsFormat string,
statsdTags map[string]string,
secret, adtag []byte) (*Config, error) {
secureMode := false
if strings.HasPrefix(secret, "dd") && len(secret) == 34 {
if bytes.HasPrefix(secret, []byte{0xdd}) && len(secret) == 17 {
secureMode = true
secret = strings.TrimPrefix(secret, "dd")
} else if len(secret) != 32 {
secret = bytes.TrimPrefix(secret, []byte{0xdd})
} else if len(secret) != 16 {
return nil, errors.New("Telegram demands secret of length 32")
}
secretBytes, err := hex.DecodeString(secret)
if err != nil {
return nil, errors.Annotate(err, "Cannot create config")
}
var adTagBytes []byte
if len(adtag) != 0 {
adTagBytes, err = hex.DecodeString(adtag)
if err != nil {
return nil, errors.Annotate(err, "Cannot create config")
}
}
var err error
if publicIPv4 == nil {
publicIPv4, err = getGlobalIPv4()
if err != nil {
@@ -177,8 +167,8 @@ func NewConfig(debug, verbose bool, // nolint: gocyclo
PublicIPv6Port: publicIPv6Port,
StatsIP: statsIP,
StatsPort: statsPort,
Secret: secretBytes,
AdTag: adTagBytes,
Secret: secret,
AdTag: adtag,
SecureMode: secureMode,
}
@@ -187,7 +177,10 @@ func NewConfig(debug, verbose bool, // nolint: gocyclo
conf.StatsD.Prefix = statsdPrefix
conf.StatsD.Tags = statsdTags
var addr net.Addr
var (
addr net.Addr
err error
)
hostPort := net.JoinHostPort(statsdIP, strconv.Itoa(int(statsdPort)))
switch statsdNetwork {
case "tcp":