common

package
v0.6.5 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2024 License: MIT Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EmailVerificationPurpose = "v"
	PasswordResetPurpose     = "r"
)
View Source
const KeyRequestBody = "key_request_body"

Variables

View Source
var (
	Port         = flag.Int("port", 3000, "the listening port")
	PrintVersion = flag.Bool("version", false, "print version and exit")
	PrintHelp    = flag.Bool("help", false, "print help and exit")
	LogDir       = flag.String("log-dir", "./logs", "specify the log directory")
)
View Source
var RDB *redis.Client
View Source
var RedisEnabled = true
View Source
var SQLiteBusyTimeout = env.Int("SQLITE_BUSY_TIMEOUT", 3000)
View Source
var SQLitePath = "one-api.db"
View Source
var StartTime = time.Now().Unix() // unit: second
View Source
var UsingMySQL = false
View Source
var UsingPostgreSQL = false
View Source
var UsingSQLite = false
View Source
var Validate *validator.Validate
View Source
var VerificationValidMinutes = 10
View Source
var Version = "v0.0.0" // this hard coding will be replaced automatically when building, no need to manually change

Functions

func DeleteKey

func DeleteKey(key string, purpose string)

func EmbedFolder

func EmbedFolder(fsEmbed embed.FS, targetPath string) static.ServeFileSystem

func GenerateVerificationCode

func GenerateVerificationCode(length int) string

func GetRequestBody

func GetRequestBody(c *gin.Context) ([]byte, error)

func InitRedisClient

func InitRedisClient() (err error)

InitRedisClient This function is called after init()

func LogQuota

func LogQuota(quota int64) string

func ParseRedisOption

func ParseRedisOption() *redis.Options

func Password2Hash

func Password2Hash(password string) (string, error)

func RedisDecrease

func RedisDecrease(key string, value int64) error

func RedisDel

func RedisDel(key string) error

func RedisGet

func RedisGet(key string) (string, error)

func RedisSet

func RedisSet(key string, value string, expiration time.Duration) error

func RegisterVerificationCodeWithKey

func RegisterVerificationCodeWithKey(key string, code string, purpose string)

func SetEventStreamHeaders

func SetEventStreamHeaders(c *gin.Context)

func UnmarshalBodyReusable

func UnmarshalBodyReusable(c *gin.Context, v any) error

func ValidatePasswordAndHash

func ValidatePasswordAndHash(password string, hash string) bool

func VerifyCodeWithKey

func VerifyCodeWithKey(key string, code string, purpose string) bool

Types

type CustomEvent

type CustomEvent struct {
	Event string
	Id    string
	Retry uint
	Data  interface{}
}

func (CustomEvent) Render

func (r CustomEvent) Render(w http.ResponseWriter) error

func (CustomEvent) WriteContentType

func (r CustomEvent) WriteContentType(w http.ResponseWriter)

type InMemoryRateLimiter

type InMemoryRateLimiter struct {
	// contains filtered or unexported fields
}

func (*InMemoryRateLimiter) Init

func (l *InMemoryRateLimiter) Init(expirationDuration time.Duration)

func (*InMemoryRateLimiter) Request

func (l *InMemoryRateLimiter) Request(key string, maxRequestNum int, duration int64) bool

Request parameter duration's unit is seconds

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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