Documentation
¶
Index ¶
- Variables
- func BadRequest(c *gin.Context, msg string)
- func BoolPtr(b bool) *bool
- func BuildMiseCommand(command string, languages []map[string]string) string
- func BuildMiseCommandArgs(cmdArgs []string, languages []map[string]string) []string
- func BuildMiseCommandArgsSimple(cmdArgs []string, language, version string) []string
- func BuildMiseCommandSimple(command string, language, version string) string
- func BuildRuntimeProcessEnv() []string
- func BuildShellEnvPrefix(envs []string) string
- func CheckWSOrigin(r *http.Request) bool
- func CompressToBase64(data string) (string, error)
- func CopyFile(src, dest string) error
- func CopyPath(src, dest string) error
- func DecompressFromBase64(data string) (string, error)
- func Decrypt(ciphertext string) (string, error)
- func DerefBool(b *bool, defaultVal bool) bool
- func Encrypt(plaintext string) (string, error)
- func Error(c *gin.Context, code int, msg string)
- func ExtractTar(src, dest string) error
- func ExtractTarGz(src, dest string) error
- func ExtractZip(src, dest string) error
- func Forbidden(c *gin.Context, msg string)
- func FreeMemory()
- func GenerateID() string
- func GenerateMachineID() string
- func GenerateToken(userID string, username string, version int, expireDays int, secret string) (string, error)
- func GetActualRepoDir(targetPath, sourceURL, branch, sourceType string) string
- func GetGoroutineID() int64
- func GetMiseNodePath(version string) string
- func GetRepoIdentifier(url string, branch string) string
- func GetShell() (shell string, args []string)
- func GetShellCommand(command string) (shell string, args []string)
- func GetSystemSecrets() []string
- func GetZlibWriter(w io.Writer) *zlib.Writer
- func InitRuntime()
- func InitSecretKey()
- func InjectNodePath(envs *[]string, languages []map[string]string)
- func IsInDocker() bool
- func IsNumeric(s string) bool
- func IsSecretKeySet() bool
- func ListMiseInstalledVersions(language string) ([]string, error)
- func MaskSecrets(text string, secrets []string) string
- func MaskString(s string) string
- func NewShellCmd() *exec.Cmd
- func NewShellCommandCmd(command string) *exec.Cmd
- func NotFound(c *gin.Context, msg string)
- func PaginatedResponse(c *gin.Context, data interface{}, total int64, p Pagination)
- func ParseInt(s string) (int, error)
- func ParseToken(tokenString string, secret string) (string, string, int, error)
- func PutZlibWriter(zw *zlib.Writer)
- func QuotePath(path string) string
- func RandomString(n int) string
- func ResolveAbsScriptsDir() string
- func ServerError(c *gin.Context, msg string)
- func ShellEnvAssignment(key, value string) string
- func Success(c *gin.Context, data interface{})
- func SuccessMsg(c *gin.Context, msg string)
- func ToInt(s string, defaultVal int) int
- func ToUTF8(data []byte) string
- func TooManyRequests(c *gin.Context, msg string)
- func TrimLog(content string, limit int) string
- func Unauthorized(c *gin.Context, msg string)
- type Claims
- type Pagination
- type PaginationData
- type Response
- type TailBuffer
Constants ¶
This section is empty.
Variables ¶
var (
ErrKeyNotSet = errors.New("加密秘钥未配置,请按照文档使用 BAIHU_SECRET_KEY 环境变量启动服务配置秘钥")
)
Functions ¶
func BadRequest ¶
func BuildMiseCommand ¶ added in v1.0.1
BuildMiseCommand 构建多语言 mise 执行命令 (字符串形式)
func BuildMiseCommandArgs ¶ added in v1.0.1
BuildMiseCommandArgs 构建多语言 mise 执行命令 (参数列表形式)
func BuildMiseCommandArgsSimple ¶ added in v1.0.1
BuildMiseCommandArgsSimple 构建单个语言的 mise 执行命令 (参数列表形式)
func BuildMiseCommandSimple ¶ added in v1.0.1
BuildMiseCommandSimple 构建单个语言的 mise 执行命令
func BuildRuntimeProcessEnv ¶ added in v1.0.38
func BuildRuntimeProcessEnv() []string
BuildRuntimeProcessEnv 构造 Baihu 内部可信子进程需要继承的运行时环境变量。 仅包含 Baihu 自己的路径/数据库配置,不包含用户任务环境变量。
func BuildShellEnvPrefix ¶ added in v1.0.38
BuildShellEnvPrefix 将 KEY=VALUE 环境变量切片转换为 shell 前缀。
func CheckWSOrigin ¶ added in v1.0.48
CheckWSOrigin 校验 WebSocket 的 Origin 来源是否安全。 默认仅允许同源请求,可通过环境变量 BH_ALLOWED_ORIGINS 配置额外的允许列表(逗号分隔)。
func CompressToBase64 ¶
CompressToBase64 compresses data using zlib and encodes to base64
func DecompressFromBase64 ¶ added in v0.0.23
DecompressFromBase64 decodes base64 and decompresses zlib data
func Decrypt ¶ added in v1.0.34
Decrypt decrypts a ciphertext string using AES-GCM Returns the original string if decryption fails or if it wasn't encrypted
func ExtractTar ¶
func ExtractTarGz ¶
func ExtractZip ¶
func FreeMemory ¶ added in v1.0.22
func FreeMemory()
FreeMemory 显式触发内存回收,释放物理资源给 OS 仅建议在执行了超大批量任务或处理了大型文件后调用
func GenerateToken ¶
func GenerateToken(userID string, username string, version int, expireDays int, secret string) (string, error)
GenerateToken 生成 JWT token
func GetActualRepoDir ¶ added in v1.1.0
GetActualRepoDir 返回仓库真实的物理目录
func GetGoroutineID ¶ added in v0.0.23
func GetGoroutineID() int64
GetGoroutineID 获取当前 Goroutine ID 注意:这只是为了调试和日志目的,不应该用于业务逻辑
func GetMiseNodePath ¶ added in v1.0.29
GetMiseNodePath 获取指定版本的 node 全局包路径,使用内存缓存避免重复获取
func GetRepoIdentifier ¶ added in v1.0.28
GetRepoIdentifier 返回根据仓库URL和分支生成的作者_仓库名标识符
func GetShellCommand ¶
GetShellCommand 返回执行命令的 shell 和参数
func GetSystemSecrets ¶ added in v1.0.50
func GetSystemSecrets() []string
GetSystemSecrets 返回当前运行时的所有系统级敏感机密(如数据库账号密码等)
func GetZlibWriter ¶ added in v1.0.22
GetZlibWriter 从对象池中获取 zlib 写入器
func InitSecretKey ¶ added in v1.0.34
func InitSecretKey()
InitSecretKey initialized the master secret key from the environment and unsets it
func InjectNodePath ¶ added in v1.0.29
InjectNodePath 检查语言环境中是否有 node,如果有则自动获取并注入 NODE_PATH 到环境变量切片中
func IsSecretKeySet ¶ added in v1.0.34
func IsSecretKeySet() bool
IsSecretKeySet returns true if the master secret key is configured
func ListMiseInstalledVersions ¶ added in v1.0.45
ListMiseInstalledVersions 获取指定语言已安装的所有版本列表
func MaskSecrets ¶ added in v1.0.34
MaskSecrets 将文本中的所有敏感机密值替换为脱敏字符串 "********"
func MaskString ¶ added in v1.0.49
MaskString 对字符串进行脱敏处理,保留首尾,中间用星号遮掩
func NewShellCommandCmd ¶
NewShellCommandCmd 创建一个执行指定命令的 shell 命令
func PaginatedResponse ¶
func PaginatedResponse(c *gin.Context, data interface{}, total int64, p Pagination)
PaginatedResponse 分页响应
func ParseToken ¶
ParseToken 解析 JWT token
func PutZlibWriter ¶ added in v1.0.22
PutZlibWriter 将 zlib 写入器还回对象池
func ResolveAbsScriptsDir ¶ added in v1.0.38
func ResolveAbsScriptsDir() string
ResolveAbsScriptsDir 解析 Baihu 运行时脚本目录的绝对路径。
func ServerError ¶
func ShellEnvAssignment ¶ added in v1.0.38
ShellEnvAssignment 生成 shell 可安全使用的 KEY='VALUE' 赋值片段。
func SuccessMsg ¶
func ToUTF8 ¶ added in v0.0.23
ToUTF8 converts potentially non-UTF8 data (like GBK on Windows) to UTF-8
func TooManyRequests ¶ added in v0.0.23
func Unauthorized ¶
Types ¶
type Claims ¶
type Claims struct {
UserID string `json:"user_id"`
Username string `json:"username"`
TokenVersion int `json:"version"`
jwt.RegisteredClaims
}
type Pagination ¶
Pagination 分页参数
type PaginationData ¶ added in v1.0.13
type PaginationData struct {
Data interface{} `json:"data"`
Total int64 `json:"total"`
Page int `json:"page"`
PageSize int `json:"page_size"`
}
PaginationData 分页数据
type TailBuffer ¶ added in v1.0.49
type TailBuffer struct {
// contains filtered or unexported fields
}
TailBuffer 是一个只保留最后 N 字节数据的缓冲区
func NewTailBuffer ¶ added in v1.0.49
func NewTailBuffer(limit int) *TailBuffer
NewTailBuffer 创建一个限制大小为 limit 的尾部缓冲区
func (*TailBuffer) String ¶ added in v1.0.49
func (b *TailBuffer) String() string
String 返回缓冲区内的字符串表示