Documentation ¶
Index ¶
- Constants
- Variables
- func DeleteKey(key string, purpose string)
- func GenerateVerificationCode(length int) string
- func GetRequestBody(c *gin.Context) ([]byte, error)
- func Init()
- func LogQuota(quota int64) string
- func Password2Hash(password string) (string, error)
- func RegisterVerificationCodeWithKey(key string, code string, purpose string)
- func SetEventStreamHeaders(c *gin.Context)
- func UnmarshalBodyReusable(c *gin.Context, v any) error
- func ValidatePasswordAndHash(password string, hash string) bool
- func VerifyCodeWithKey(key string, code string, purpose string) bool
- type CustomEvent
- type InMemoryRateLimiter
Constants ¶
View Source
const ( EmailVerificationPurpose = "v" PasswordResetPurpose = "r" )
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 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 Password2Hash ¶
func SetEventStreamHeaders ¶
func ValidatePasswordAndHash ¶
Types ¶
type CustomEvent ¶
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)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.