infra

package
v0.9.13 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2021 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LogMiddleware added in v0.9.12

func LogMiddleware(next echo.HandlerFunc) echo.HandlerFunc

LogMiddleware log every request

func NewCacheStore added in v0.9.8

func NewCacheStore(cfg *CacheCfg) *cachekit.Store

NewCacheStore return new instaence of cache store @ctor

func NewEcho added in v0.9.12

func NewEcho(cfg *AppCfg) *echo.Echo

NewEcho return new instance of server @ctor

func SetLogger added in v0.9.12

func SetLogger(debug bool) *logrus.Logger

SetLogger set logger

Types

type AppCfg added in v0.9.0

type AppCfg struct {
	Address      string        `envconfig:"ADDRESS" default:":8089" required:"true"`
	ReadTimeout  time.Duration `envconfig:"READ_TIMEOUT" default:"5s"`
	WriteTimeout time.Duration `envconfig:"WRITE_TIMEOUT" default:"10s"`
	Debug        bool          `envconfig:"DEBUG" default:"true"`
}

AppCfg application configuration @envconfig (prefix:"APP")

type CacheCfg added in v0.9.8

type CacheCfg struct {
	DefaultMaxAge time.Duration `envconfig:"DEFAULT_MAX_AGE" default:"30s"`
	PrefixKey     string        `envconfig:"PREFIX_KEY" default:"cache_"`
	RedisHost     string        `envconfig:"REDIS_HOST" required:"true" default:"localhost"`
	RedisPort     string        `envconfig:"REDIS_PORT" required:"true" default:"6379"`
	RedisPass     string        `envconfig:"REDIS_PASS" default:"redispass"`
}

CacheCfg cache onfiguration @envconfig (prefix:"CACHE")

type DatabaseCfg added in v0.9.5

type DatabaseCfg struct {
	DBName string `envconfig:"DBNAME" required:"true" default:"dbname"`
	DBUser string `envconfig:"DBUSER" required:"true" default:"dbuser"`
	DBPass string `envconfig:"DBPASS" required:"true" default:"dbpass"`
	Host   string `envconfig:"HOST" required:"true" default:"localhost"`
	Port   string `envconfig:"PORT" required:"true" default:"9999"`

	MaxOpenConns    int           `envconfig:"MAX_OPEN_CONNS" default:"30" required:"true"`
	MaxIdleConns    int           `envconfig:"MAX_IDLE_CONNS" default:"6" required:"true"`
	ConnMaxLifetime time.Duration `envconfig:"CONN_MAX_LIFETIME" default:"30m" required:"true"`
}

DatabaseCfg is MySQL configuration @envconfig (prefix:"MYSQL" ctor:"mysql") @envconfig (prefix:"PG" ctor:"pg")

type Databases added in v0.9.8

type Databases struct {
	dig.Out
	Pg    *sql.DB `name:"pg"`
	MySQL *sql.DB `name:"mysql"`
}

Databases setup output

func NewDatabases added in v0.9.8

func NewDatabases(c dbConfigs) Databases

NewDatabases return new instance of databases @ctor

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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