Documentation ¶
Index ¶
- Constants
- Variables
- func CheckSHA(reader io.Reader, sha string) error
- func CheckSHA256(reader io.Reader, sha string) error
- func Checksum(file string) (string, error)
- func Copy(src, dst string) error
- func CopyFile(src, dst string) error
- func CreateDir(path string) error
- func CurrentUser() string
- func FmtVer(ver string) (string, error)
- func GetFreePort(host string, priority int) (int, error)
- func IsEmptyDir(path string) (bool, error)
- func IsExist(path string) bool
- func IsNotExist(path string) bool
- func IsSymExist(path string) bool
- func Move(src, dst string) error
- func MustGetFreePort(host string, priority int) int
- func OpenFileInEditor(filename string) error
- func PostFile(reader io.Reader, url, fieldname, filename string) (*http.Response, error)
- func RebuildArgs(args []string) []string
- func Retry(f func() error, when func(error) bool) error
- func SHA256(reader io.Reader) (string, error)
- func SHA512(reader io.Reader) (string, error)
- func ShowDiff(t1 string, t2 string, w io.Writer)
- func TailN(fname string, n int) (lines []string, err error)
- func Untar(reader io.Reader, to string) error
- func UserHome() string
- func ValidateSpecDiff(s1, s2 interface{}) error
- func WaitContext(ctx context.Context, cmd *exec.Cmd) error
- type HTTPClient
Constants ¶
const DefaultEditor = "vi"
DefaultEditor is vi because we're adults ;)
Variables ¶
var ErrorWaitTimeout = errors.New("wait command timeout")
ErrorWaitTimeout is used to represent timeout of a command Example:
_ = syscall.Kill(cmd.Process.Pid, syscall.SIGKILL) if err := WaitContext(context.WithTimeout(context.Background(), 3), cmd); err == ErrorWaitTimeout { // Do something }
Functions ¶
func CheckSHA256 ¶
CheckSHA256 returns an error if the hash of reader mismatches `sha`
func FmtVer ¶
FmtVer converts a version string to SemVer format, if the string is not a valid SemVer and fails to parse and convert it, an error is raised.
func GetFreePort ¶
GetFreePort asks the kernel for a free open port that is ready to use.
func IsEmptyDir ¶
IsEmptyDir check whether a path is an empty directory
func IsSymExist ¶ added in v1.0.8
IsSymExist check whether a symbol link is exist
func Move ¶
Move moves a file from src to dst, this is done by copying the file and then delete the old one. Use os.Rename() to rename file within the same filesystem instead this, it's more lightweight but can not be used across devices.
func MustGetFreePort ¶
MustGetFreePort asks the kernel for a free open port that is ready to use, if fail, panic
func OpenFileInEditor ¶ added in v1.0.9
OpenFileInEditor opens filename in a text editor.
func RebuildArgs ¶
RebuildArgs move "--help" or "-h" flag to the end of the arg list
func ShowDiff ¶ added in v1.0.9
ShowDiff write diff result into the Writer. return false if there's no diff.
func ValidateSpecDiff ¶ added in v1.0.9
func ValidateSpecDiff(s1, s2 interface{}) error
ValidateSpecDiff checks and validates the new spec to see if the modified keys are all marked as editable
Types ¶
type HTTPClient ¶
type HTTPClient struct {
// contains filtered or unexported fields
}
HTTPClient is a wrap of http.Client
func NewHTTPClient ¶
func NewHTTPClient(timeout time.Duration, tlsConfig *tls.Config) *HTTPClient
NewHTTPClient returns a new HTTP client with timeout and HTTPS support
func (*HTTPClient) Delete ¶
Delete send a DELETE request to the url and returns the response and status code.