api

package module
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2020 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrRateLimit = errors.New("RateLimitReached")

	DefaultPeerRequestPerSecond = ratelimiter.RateLimitInfo{
		Limit: redis_rate.Limit{
			Period: time.Second,
			Rate:   100,
			Burst:  100,
		},
		KeyPrefix: "PeerRequest",
	}

	DefaultOpenSessionPerMinute = ratelimiter.RateLimitInfo{
		Limit: redis_rate.Limit{
			Period: time.Minute,
			Rate:   10,
			Burst:  10,
		},
		KeyPrefix: "OpenSession",
	}
)
View Source
var (
	ErrInvalidUserInfo        = errors.New("Invalid user info")
	ErrInvalidLoginOrPassword = errors.New("Invalid login or password")
	ErrInvalidEmail           = errors.New("Invalid email")
)

Functions

func AddWorkerHeader

func AddWorkerHeader(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc)

AddWorkerHeader - adds header of which node actually processed request

func AddWorkerVersion

func AddWorkerVersion(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc)

AddWorkerVersion - adds header of which version is installed

func ImportUsers

func ImportUsers(ctx context.Context, userInfos ...UserInfo) error

func MiddlewarePeerRateLimiter

func MiddlewarePeerRateLimiter(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc)

MiddlewarePeerRateLimiter return StatusTooManyRequests if rate limite is reached

func Models

func Models() []model.Model

func RegisterOpenSessionRateLimiter

func RegisterOpenSessionRateLimiter(ctx context.Context, rateLimit ratelimiter.RateLimitInfo) context.Context

func RegisterRateLimiter

func RegisterRateLimiter(ctx context.Context, rateLimit ratelimiter.RateLimitInfo) context.Context

Types

type Api

type Api int

func (*Api) Run

func (p *Api) Run(ctx context.Context, port int, corsAllowedOrigins []string, oauthOptions oauth.Options)

type UserInfo

type UserInfo struct {
	Login,
	Password,
	Email string
	Roles []string
}

func FromUserInfoFile

func FromUserInfoFile(ctx context.Context, fileName string) ([]UserInfo, error)

func ParseUserInfo

func ParseUserInfo(userInfo string) (UserInfo, error)

Directories

Path Synopsis
cmd
services package is au json-rpc service for session management.
services package is au json-rpc service for session management.

Jump to

Keyboard shortcuts

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