utils

package
v0.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 22, 2022 License: MIT Imports: 24 Imported by: 0

Documentation

Overview

Package utils [general utility functions for the db1000n app]

Index

Constants

This section is empty.

Variables

View Source
var EncryptionKeys = `/45pB920B6DFNwCB/n4rYUio3AVMawrdtrFnjTSIzL4=`

EncryptionKeys random 32 byte key encoded into base64 string. Used by default for configs

Functions

func CheckCountry

func CheckCountry(countriesToAvoid []string, strictCountryCheck bool) (bool, string)

CheckCountry allows to check which country the app is running from

func Decode

func Decode(input interface{}, output interface{}) error

Decode is an alias to a mapstructure.NewDecoder({Squash: true}).Decode()

func Decrypt

func Decrypt(cfg []byte) ([]byte, error)

Decrypt decrypts config using EncryptionKeys

func GetEncryptionKeys

func GetEncryptionKeys() ([]string, error)

GetEncryptionKeys returns list of encryption keys from ENCRYPTION_KEYS env variable name or default value

func GetEnvBoolDefault

func GetEnvBoolDefault(key string, defaultValue bool) bool

GetEnvBoolDefault returns environment variable or default value if no env varible is present

func GetEnvDurationDefault

func GetEnvDurationDefault(key string, defaultValue time.Duration) time.Duration

GetEnvDurationDefault returns environment variable or default value if no env varible is present

func GetEnvIntDefault

func GetEnvIntDefault(key string, defaultValue int) int

GetEnvIntDefault returns environment variable or default value if no env varible is present

func GetEnvStringDefault

func GetEnvStringDefault(key, defaultValue string) string

GetEnvStringDefault returns environment variable or default value if no env varible is present

func IsEncrypted

func IsEncrypted(cfg []byte) bool

IsEncrypted returns true if cfg encrypted with age tool (https://github.com/FiloSottile/age)

func NonNilDurationOrDefault added in v0.8.0

func NonNilDurationOrDefault(d *time.Duration, dflt time.Duration) time.Duration

func NonNilIntOrDefault added in v0.8.0

func NonNilIntOrDefault(i *int, dflt int) int

func PanicHandler

func PanicHandler(logger *zap.Logger)

PanicHandler just stub it in the beginning of every major module invocation to prevent single module failure from crashing the whole app

func ReportStatistics

func ReportStatistics(traffic int64, clientID string) error

ReportStatistics sends basic usage events to google analytics

func Unmarshal added in v0.7.9

func Unmarshal(input []byte, output interface{}, format string) error

Types

type ProxyFunc added in v0.8.0

type ProxyFunc func(network, addr string) (net.Conn, error)

func GetProxyFunc added in v0.8.0

func GetProxyFunc(proxyURLs string, timeout time.Duration) ProxyFunc

Directories

Path Synopsis
Package metrics [everything related to metrics goes here]
Package metrics [everything related to metrics goes here]
Package ota [allows hot update and reload of the executable]
Package ota [allows hot update and reload of the executable]
Package templates [provides utility functions to enable templating in app configuration]
Package templates [provides utility functions to enable templating in app configuration]

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL