Documentation ¶
Overview ¶
Package utils provides utility functions for the Keploy application.
Index ¶
- Variables
- func AskForConfirmation(s string) (bool, error)
- func BindFlagsToViper(logger *zap.Logger, cmd *cobra.Command, viperKeyPrefix string) error
- func CheckFileExists(path string) bool
- func DeleteFileIfNotExists(logger *zap.Logger, name string) (err error)
- func DetectLanguage(logger *zap.Logger, cmd string) (config.Language, string)
- func EnsureRmBeforeName(cmd string) string
- func ExecCancel()
- func ExpandPath(path string) (string, error)
- func FileExists(path string) (bool, error)
- func GenerateGithubActions(logger *zap.Logger, appCmd string)
- func GetAbsPath(path string) (string, error)
- func GetPIDFromPort(_ context.Context, logger *zap.Logger, port int) (uint32, error)
- func HandleRecovery(logger *zap.Logger, r interface{}, errMsg string)
- func InterruptProcessTree(logger *zap.Logger, ppid int, sig syscall.Signal) error
- func IsDockerCmd(kind CmdType) bool
- func Keys(m map[string][]string) []string
- func LogError(logger *zap.Logger, err error, msg string, fields ...zap.Field)
- func NewCtx() context.Context
- func Recover(logger *zap.Logger)
- func ReplaceHostToIP(currentURL string, ipAddress string) (string, error)
- func RestoreUmask(oldMask int)
- func SendSignal(logger *zap.Logger, pid int, sig syscall.Signal) error
- func SentryInit(logger *zap.Logger, dsn string)
- func SetCancel(c context.CancelFunc)
- func SetCoveragePath(logger *zap.Logger, goCovPath string) (string, error)
- func SetUmask() int
- func Stop(logger *zap.Logger, reason string) error
- type AutoInc
- type CmdError
- type CmdType
- type ErrType
- type GitHubRelease
Constants ¶
This section is empty.
Variables ¶
var ConfigGuide = `
# Visit [https://keploy.io/docs/running-keploy/configuration-file/] to learn about using keploy through configration file.
`
var Emoji = "\U0001F430" + " Keploy:"
var ErrCode = 0
var ErrGitHubAPIUnresponsive = errors.New("GitHub API is unresponsive")
var Version string
var VersionIdenitfier string
var WarningSign = "\U000026A0"
Functions ¶
func AskForConfirmation ¶
AskForConfirmation asks the user for confirmation. A user must type in "yes" or "no" and then press enter. It has fuzzy matching, so "y", "Y", "yes", "YES", and "Yes" all count as confirmations. If the input is not recognized, it will ask again. The function does not return until it gets a valid response from the user.
func BindFlagsToViper ¶
func CheckFileExists ¶
func DeleteFileIfNotExists ¶
func DetectLanguage ¶
DetectLanguage detects the language of the test command and returns the executable
func EnsureRmBeforeName ¶
func ExecCancel ¶
func ExecCancel()
func ExpandPath ¶
ExpandPath expands a given path, replacing the tilde with the user's home directory
func FileExists ¶
FileExists checks if a file exists and is not a directory at the given path.
func GenerateGithubActions ¶
GenerateGithubActions generates a GitHub Actions workflow file for Keploy
func GetAbsPath ¶
func GetPIDFromPort ¶
func HandleRecovery ¶
HandleRecovery handles the common logic for recovering from a panic.
func InterruptProcessTree ¶
InterruptProcessTree interrupts an entire process tree using the given signal
func IsDockerCmd ¶
func LogError ¶
LogError logs the error with the provided fields if the error is not context.Canceled.
func Recover ¶
Recover recovers from a panic and logs the stack trace to Sentry. It also stops the global context.
func RestoreUmask ¶
func RestoreUmask(oldMask int)
func SentryInit ¶
func SetCancel ¶
func SetCancel(c context.CancelFunc)
func SetCoveragePath ¶
SetCoveragePath takes a goCovPath and sets the coverage path accordingly. It returns an error if the path is a file or if the path does not exist.
Types ¶
type AutoInc ¶
type CmdType ¶
type CmdType string
const ( DockerRun CmdType = "docker-run" DockerStart CmdType = "docker-start" DockerCompose CmdType = "docker-compose" Native CmdType = "native" Empty CmdType = "" )
CmdType constants
func FindDockerCmd ¶
FindDockerCmd checks if the cli is related to docker or not, it also returns if it is a docker compose file
type GitHubRelease ¶
func GetLatestGitHubRelease ¶
GetLatestGitHubRelease fetches the latest version and release body from GitHub releases with a timeout.