common

package
v4.1.5 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2025 License: AGPL-3.0 Imports: 25 Imported by: 14

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SecretKey []byte

Functions

func CanAccess

func CanAccess(user *model.User, meta *model.Meta, reqPath string, password string) bool

func CanWrite

func CanWrite(meta *model.Meta, path string) bool

func ContentWithValue added in v4.0.9

func ContentWithValue(ctx context.Context, keyAndValue ...any) context.Context

func ErrorPage added in v4.1.2

func ErrorPage(c *gin.Context, err error, code int, l ...bool)

ErrorPage is used to return error page HTML. It also returns standard HTTP status code. @param l: if true, log error

func ErrorResp

func ErrorResp(c *gin.Context, err error, code int, l ...bool)

ErrorResp is used to return error response @param l: if true, log error

func ErrorStrResp

func ErrorStrResp(c *gin.Context, str string, code int, l ...bool)

func ErrorWithDataResp

func ErrorWithDataResp(c *gin.Context, err error, code int, data interface{}, l ...bool)

func GenerateDownProxyURL added in v4.0.9

func GenerateDownProxyURL(storage *model.Storage, reqPath string) string

func GenerateToken

func GenerateToken(user *model.User) (tokenString string, err error)

func GetApiUrl

func GetApiUrl(ctx context.Context) string

func GetApiUrlFromRequest added in v4.0.9

func GetApiUrlFromRequest(r *http.Request) string

func GetEtag

func GetEtag(file model.Obj, size int64) string

func GinWithValue added in v4.0.9

func GinWithValue(c *gin.Context, keyAndValue ...any)

func InvalidateToken

func InvalidateToken(tokenString string) error

func IsApply

func IsApply(metaPath, reqPath string, applySub bool) bool

func IsStorageSignEnabled

func IsStorageSignEnabled(rawPath string) bool

func IsTokenInvalidated

func IsTokenInvalidated(tokenString string) bool

func Pluralize

func Pluralize(count int, singular, plural string) string

func Proxy

func Proxy(w http.ResponseWriter, r *http.Request, link *model.Link, file model.Obj) error

func ProxyRange

func ProxyRange(ctx context.Context, link *model.Link, size int64) *model.Link

func ShouldProxy

func ShouldProxy(storage driver.Driver, filename string) bool

ShouldProxy TODO need optimize when should be proxy? 1. config.MustProxy() 2. storage.WebProxy 3. proxy_types

func Sign

func Sign(obj model.Obj, parent string, encrypt bool) string

func SuccessResp

func SuccessResp(c *gin.Context, data ...interface{})

func SuccessWithMsgResp

func SuccessWithMsgResp(c *gin.Context, msg string, data ...interface{})

Types

type InterceptResponseWriter

type InterceptResponseWriter struct {
	http.ResponseWriter
	io.Writer
}

func (*InterceptResponseWriter) Write

func (iw *InterceptResponseWriter) Write(p []byte) (int, error)

type PageResp

type PageResp struct {
	Content interface{} `json:"content"`
	Total   int64       `json:"total"`
}

type Resp

type Resp[T any] struct {
	Code    int    `json:"code"`
	Message string `json:"message"`
	Data    T      `json:"data"`
}

type UserClaims

type UserClaims struct {
	Username string `json:"username"`
	PwdTS    int64  `json:"pwd_ts"`
	jwt.RegisteredClaims
}

func ParseToken

func ParseToken(tokenString string) (*UserClaims, error)

type WrittenResponseWriter

type WrittenResponseWriter struct {
	http.ResponseWriter
	// contains filtered or unexported fields
}

func (*WrittenResponseWriter) IsWritten

func (ww *WrittenResponseWriter) IsWritten() bool

func (*WrittenResponseWriter) Write

func (ww *WrittenResponseWriter) Write(p []byte) (int, error)

Jump to

Keyboard shortcuts

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