utils

package
v1.4.3 Latest Latest
Warning

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

Go to latest
Published: May 12, 2021 License: Apache-2.0 Imports: 31 Imported by: 7

Documentation

Index

Constants

View Source
const DefaultEditor = "vi"

DefaultEditor is vi because we're adults ;)

View Source
const NightlyVersionAlias = "nightly"

NightlyVersionAlias represents latest build of master branch.

Variables

View Source
var (
	// ErrValidateChecksum is an empty HashValidationErr object, useful for type checking
	ErrValidateChecksum = &HashValidationErr{}
)

Functions

func CheckSHA256

func CheckSHA256(reader io.Reader, sha string) error

CheckSHA256 returns an error if the hash of reader mismatches `sha`

func Checksum

func Checksum(file string) (string, error)

Checksum returns the sha1 sum of target file

func Copy

func Copy(src, dst string) error

Copy copies a file or directory from src to dst

func CreateDir

func CreateDir(path string) error

CreateDir creates the directory if it not exists.

func CurrentUser

func CurrentUser() string

CurrentUser returns current login user

func FmtVer

func FmtVer(ver string) (string, error)

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

func GetFreePort(host string, priority int) (int, error)

GetFreePort asks the kernel for a free open port that is ready to use.

func IsEmptyDir

func IsEmptyDir(path string) (bool, error)

IsEmptyDir check whether a path is an empty directory

func IsExecBinary added in v1.2.0

func IsExecBinary(path string) bool

IsExecBinary check whether a path is a valid executable

func IsExist

func IsExist(path string) bool

IsExist check whether a path is exist

func IsFlagSetByUser added in v1.1.0

func IsFlagSetByUser(flagSet *pflag.FlagSet, flagName string) bool

IsFlagSetByUser check if the a flag is set by user explicitly

func IsNotExist

func IsNotExist(path string) bool

IsNotExist check whether a path is not exist

func IsSubDir added in v1.4.0

func IsSubDir(parent, sub string) bool

IsSubDir returns if sub is a sub directory of parent

func IsSymExist added in v1.0.8

func IsSymExist(path string) bool

IsSymExist check whether a symbol link is exist

func IsTimeoutOrMaxRetry added in v1.1.0

func IsTimeoutOrMaxRetry(err error) bool

IsTimeoutOrMaxRetry return true if it's timeout or reach max retry.

func JoinInt added in v1.1.0

func JoinInt(nums []int, delim string) string

JoinInt joins a slice of int to string

func Move

func Move(src, dst string) error

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

func MustGetFreePort(host string, priority int) int

MustGetFreePort asks the kernel for a free open port that is ready to use, if fail, panic

func OpenFileInEditor added in v1.0.9

func OpenFileInEditor(filename string) error

OpenFileInEditor opens filename in a text editor.

func PostFile

func PostFile(reader io.Reader, url, fieldname, filename string) (*http.Response, error)

PostFile upload file

func RebuildArgs

func RebuildArgs(args []string) []string

RebuildArgs move "--help" or "-h" flag to the end of the arg list

func Retry

func Retry(doFunc func() error, opts ...RetryOption) error

Retry retries the func until it returns no error or reaches attempts limit or timed out, either one is earlier

func RetryUntil added in v1.1.0

func RetryUntil(f func() error, when func(error) bool) error

RetryUntil when the when func returns true

func SHA256

func SHA256(reader io.Reader) (string, error)

SHA256 returns the hash of reader

func SHA512

func SHA512(reader io.Reader) (string, error)

SHA512 returns the hash of reader

func ShowDiff added in v1.0.9

func ShowDiff(t1 string, t2 string, w io.Writer)

ShowDiff write diff result into the Writer. return false if there's no diff.

func TailN added in v1.0.9

func TailN(fname string, n int) (lines []string, err error)

TailN try get the latest n line of the file.

func Untar

func Untar(reader io.Reader, to string) error

Untar decompresses the tarball

func UserHome

func UserHome() string

UserHome returns home directory of current user

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

func (c *HTTPClient) Delete(url string, body io.Reader) ([]byte, int, error)

Delete send a DELETE request to the url and returns the response and status code.

func (*HTTPClient) Get

func (c *HTTPClient) Get(url string) ([]byte, error)

Get fetch an URL with GET method and returns the response

func (*HTTPClient) Post

func (c *HTTPClient) Post(url string, body io.Reader) ([]byte, error)

Post send a POST request to the url and returns the response

func (*HTTPClient) WithClient added in v1.4.2

func (c *HTTPClient) WithClient(client *http.Client) *HTTPClient

WithClient uses the specified HTTP client

type HashValidationErr added in v1.4.0

type HashValidationErr struct {
	// contains filtered or unexported fields
}

HashValidationErr is the error indicates a failed hash validation

func (*HashValidationErr) Error added in v1.4.0

func (e *HashValidationErr) Error() string

Error implements the error interface

func (*HashValidationErr) Is added in v1.4.0

func (e *HashValidationErr) Is(target error) bool

Is implements the error interface

func (*HashValidationErr) Unwrap added in v1.4.0

func (e *HashValidationErr) Unwrap() error

Unwrap implements the error interface

type RetryOption added in v1.1.0

type RetryOption struct {
	Attempts int64
	Delay    time.Duration
	Timeout  time.Duration
}

RetryOption is options for Retry()

type Version added in v1.4.0

type Version string

Version represents a version string, like: v3.1.2

func (Version) IsEmpty added in v1.4.0

func (v Version) IsEmpty() bool

IsEmpty returns true if the `Version` is a empty string

func (Version) IsNightly added in v1.4.0

func (v Version) IsNightly() bool

IsNightly returns true if the version is nightly

func (Version) IsValid added in v1.4.0

func (v Version) IsValid() bool

IsValid checks whether is the version string valid

func (Version) String added in v1.4.0

func (v Version) String() string

String implements the fmt.Stringer interface

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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