Documentation ¶
Index ¶
- Variables
- type Cache
- type CodeGenerator
- type ConfigStorage
- type CycleTask
- type Fifo
- type File
- type FileItem
- type GetConfig
- type MDBConfigStorage
- type Randomizer
- type RateLimiter
- type RoutineLimiter
- type SMTP
- type Scheduler
- type SetConfig
- type ShutdownFunc
- type ShutdownStack
- type Storage
- type Tokenizer
- func (tokenizer *Tokenizer) Authentificator(action func(*http.Request, jwt.Token, error) *http.Request) func(http.Handler) http.Handler
- func (tokenizer *Tokenizer) NewAccessToken(values map[string]interface{}) (string, error)
- func (tokenizer *Tokenizer) NewToken(values map[string]interface{}) (tokenString string, err error)
- func (tokenizer *Tokenizer) ParseToken(tokenString string) (jwt.Token, error)
Constants ¶
This section is empty.
Variables ¶
var ( ErrTokenNotFound = errors.New("token not found") ErrExpiredToken = errors.New("token is expired") )
var (
ErrEmptySetting = errors.New("load settings failed")
)
var (
ErrIncorrectLink = errors.New("incorrect file link")
)
var (
ErrRateLimited = errors.New("rate limited")
)
Functions ¶
This section is empty.
Types ¶
type CodeGenerator ¶
type CodeGenerator struct {
// contains filtered or unexported fields
}
func NewCodeGenerator ¶
func NewCodeGenerator(ttl int, len int, numbers, letters bool) *CodeGenerator
Функция создает генератор кодов валидации
ttl - время жизни кода в минутах len - длинна кода numbers, letters - указывает на то, какие символы можно использовать в генерируемых кодах
func (*CodeGenerator) Generate ¶
func (cg *CodeGenerator) Generate(input string) string
func (*CodeGenerator) GenerateForTime ¶
func (cg *CodeGenerator) GenerateForTime(t time.Time, input string) string
func (*CodeGenerator) Validate ¶
func (cg *CodeGenerator) Validate(input, code string) bool
func (*CodeGenerator) ValidateForTime ¶
type ConfigStorage ¶
type ConfigStorage struct {
// contains filtered or unexported fields
}
func NewConfigStorageWithMongoDB ¶
func NewConfigStorageWithMongoDB(mdb MDBConfigStorage) *ConfigStorage
func (*ConfigStorage) Load ¶
func (cs *ConfigStorage) Load(module string, document interface{}) error
func (*ConfigStorage) Save ¶
func (cs *ConfigStorage) Save(module string, document interface{}) error
type CycleTask ¶
type CycleTask struct {
// contains filtered or unexported fields
}
Структура для работы с циклической задачей
func NewCycleTask ¶
func NewCycleTask(task func()) *CycleTask
Функция создает новую структуру для решения повторяющихся задач
type FileItem ¶
type FileItem struct { Filename string Filesize int64 Reader io.Reader // contains filtered or unexported fields }
func NewBytesFile ¶
func NewReaderFile ¶
func (*FileItem) GetFilename ¶
type MDBConfigStorage ¶
type Randomizer ¶
type Randomizer struct{}
func NewRandomizer ¶
func NewRandomizer() *Randomizer
func (*Randomizer) PseudoString ¶
func (r *Randomizer) PseudoString(seed int64, count int, alphabet, numbers, symbols bool) string
type RateLimiter ¶
type RateLimiter struct {
// contains filtered or unexported fields
}
func NewRateLimiter ¶
func NewRateLimiter(seconds int64) *RateLimiter
func (*RateLimiter) Check ¶
func (rl *RateLimiter) Check(key string) (err error)
func (*RateLimiter) Deinit ¶
func (rl *RateLimiter) Deinit()
func (*RateLimiter) Set ¶
func (rl *RateLimiter) Set(key string)
type RoutineLimiter ¶ added in v0.14.1
type RoutineLimiter struct {
// contains filtered or unexported fields
}
func NewRoutineLimiter ¶ added in v0.14.1
func NewRoutineLimiter(max int) *RoutineLimiter
NewRoutineLimiter Создает новую структуру для ограничения количества одновременно запущенных горутин
func (*RoutineLimiter) Run ¶ added in v0.14.1
func (r *RoutineLimiter) Run(task func())
Run запускает задачу в горутине в случае если доступных слотов нет, то ожидает освобождения слота перед запуском задачи
type SMTP ¶
type SMTP struct {
// contains filtered or unexported fields
}
SMTP - структура для отправки писем.
func NewConfiguredSMTP ¶
NewConfiguredSMTP - конструктор для создания SMTP с настроенными параметрами.
func (*SMTP) SendHTMLEmail ¶
Метод отправляет HTML письмо указанному адресату.
func (*SMTP) SendTextEmail ¶
Метод отправляет текстовое письмо указанному адресату.
type Scheduler ¶ added in v0.14.1
func NewScheduler ¶ added in v0.14.1
type ShutdownFunc ¶ added in v0.14.1
type ShutdownStack ¶ added in v0.14.1
type ShutdownStack struct {
// contains filtered or unexported fields
}
ShutdownStack структура для плавного отключения приложения
Содержит стек функций которые необходимо выполнить перед завершением приложения и методы для их добавления и выполнения
func NewShutdownStack ¶ added in v0.14.1
func NewShutdownStack() *ShutdownStack
NewShutdownStack создает сруктуру для плавного отключения приложения
func (*ShutdownStack) Add ¶ added in v0.14.1
func (st *ShutdownStack) Add(fn ...ShutdownFunc)
Add добавляет функции которые необходимо выполнить перед завершением приложения в стек
type Storage ¶
type Storage struct {
// contains filtered or unexported fields
}
Структура для работы с бакетом на s3 совместимом хранилище
func NewStorage ¶
Функция для инициализации нового интерфейса к бакету на S3
type Tokenizer ¶
type Tokenizer struct {
// contains filtered or unexported fields
}
func NewTokenizer ¶
func (*Tokenizer) Authentificator ¶
func (tokenizer *Tokenizer) Authentificator(action func(*http.Request, jwt.Token, error) *http.Request) func(http.Handler) http.Handler
Метод для создания Middleware, аутентификации пользователя
Предоставляет токен записанный в запросе одним из следующих методов: - Bearer <token> в заголовке Authorization - Query параметр token - Cookie с именем access_token
func (*Tokenizer) NewAccessToken ¶
Метод для создания нового access токена
метод добавляет дополнительные поля в карту в остальном идентичен NewToken для инвалидации токена спустя 10 минут после его создания