Documentation ¶
Index ¶
- Variables
- func AESGCMDecrypt(key, ciphertext []byte) ([]byte, error)
- func AESGCMEncrypt(key, plaintext []byte) ([]byte, error)
- func ApplyUmask(f string, newMode os.FileMode) error
- func CommonSkip(name string) bool
- func CopyFile(src, dest string) error
- func CryptoRandomBytes(length int64) ([]byte, error)
- func CryptoRandomInt(limit int64) (int64, error)
- func CryptoRandomString(length int64) (string, error)
- func Dedent(s string) string
- func EnsureAbsolutePath(path, absoluteBase string) string
- func ExistsInSlice(target string, slice []string) bool
- func FileURLToPath(u *url.URL) (string, error)
- func HomeDir() (home string, err error)
- func IsDir(dir string) (bool, error)
- func IsEmptyString(s string) bool
- func IsEqualSlice(target, source []string) bool
- func IsExist(path string) (bool, error)
- func IsFile(filePath string) (bool, error)
- func IsInt64InSlice(target int64, slice []int64) bool
- func IsSliceInt64Eq(a, b []int64) bool
- func IsStringInSlice(target string, slice []string, insensitive ...bool) bool
- func Max(a, b int) int
- func MergeInto(dict map[string]interface{}, values ...interface{}) (map[string]interface{}, error)
- func Min(a, b int) int
- func NormalizeEOL(input []byte) []byte
- func NumberIntoInt64(number interface{}) int64
- func PaginateSlice(list interface{}, page, pageSize int) interface{}
- func PathEscapeSegments(path string) string
- func ReadAtMost(r io.Reader, buf []byte) (n int, err error)
- func Remove(name string) error
- func RemoveAll(name string) error
- func RemoveIDFromList(list []int64, id int64) ([]int64, bool)
- func Rename(oldpath, newpath string) error
- func SanitizeCredentialURLs(s string) string
- func SanitizeErrorCredentialURLs(err error) error
- func SecToTime(duration int64) string
- func ShellEscape(toEscape string) string
- func SplitStringAtByteN(input string, n int) (left, right string)
- func SplitStringAtRuneN(input string, n int) (left, right string)
- func StatDir(rootPath string, includeDir ...bool) ([]string, error)
- func StopTimer(t *time.Timer) bool
- func ToSnakeCase(input string) string
- func ToTitleCase(s string) string
- func ToUpperASCII(s string) string
- func URLJoin(base string, elems ...string) string
- type Int64Slice
- type OptionalBool
- type SilentWrap
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidArgument = errors.New("invalid argument") ErrPermissionDenied = errors.New("permission denied") ErrAlreadyExist = errors.New("resource already exists") ErrNotExist = errors.New("resource does not exist") )
Common Errors forming the base of our error system
Many Errors returned by Gitea can be tested against these errors using errors.Is.
Functions ¶
func AESGCMDecrypt ¶ added in v1.17.0
AESGCMDecrypt (from legacy package): decrypts ciphertext with the given key using AES in GCM mode. should be replaced.
func AESGCMEncrypt ¶ added in v1.17.0
AESGCMEncrypt (from legacy package): encrypts plaintext with the given key using AES in GCM mode. should be replaced.
func CommonSkip ¶ added in v1.17.4
CommonSkip will check a provided name to see if it represents file or directory that should not be watched
func CryptoRandomBytes ¶ added in v1.17.0
CryptoRandomBytes generates `length` crypto bytes This differs from CryptoRandomString, as each byte in CryptoRandomString is generated by [0,61] range This function generates totally random bytes, each byte is generated by [0,255] range
func CryptoRandomInt ¶ added in v1.17.0
CryptoRandomInt returns a crypto random integer between 0 and limit, inclusive
func CryptoRandomString ¶ added in v1.17.0
CryptoRandomString generates a crypto random alphanumerical string, each byte is generated by [0,61] range
func Dedent ¶ added in v1.17.0
Dedent removes common indentation of a multi-line string along with whitespace around it Based on https://github.com/lithammer/dedent
func EnsureAbsolutePath ¶ added in v1.3.0
EnsureAbsolutePath ensure that a path is absolute, making it relative to absoluteBase if necessary
func ExistsInSlice ¶ added in v1.5.0
ExistsInSlice returns true if string exists in slice.
func FileURLToPath ¶ added in v1.15.0
FileURLToPath extracts the path information from a file://... url.
func HomeDir ¶ added in v1.17.0
HomeDir returns path of '~'(in Linux) on Windows, it returns error when the variable does not exist.
func IsDir ¶ added in v1.14.0
IsDir returns true if given path is a directory, or returns false when it's a file or does not exist.
func IsEmptyString ¶ added in v1.7.0
IsEmptyString checks if the provided string is empty
func IsEqualSlice ¶ added in v1.5.0
IsEqualSlice returns true if slices are equal.
func IsExist ¶ added in v1.14.0
IsExist checks whether a file or directory exists. It returns false when the file or directory does not exist.
func IsFile ¶ added in v1.14.0
IsFile returns true if given path is a file, or returns false when it's a directory or does not exist.
func IsInt64InSlice ¶ added in v1.12.0
IsInt64InSlice sequential searches if int64 exists in slice.
func IsSliceInt64Eq ¶ added in v1.3.0
IsSliceInt64Eq returns if the two slice has the same elements but different sequences.
func IsStringInSlice ¶ added in v1.11.0
IsStringInSlice sequential searches if string exists in slice.
func NormalizeEOL ¶ added in v1.11.0
NormalizeEOL will convert Windows (CRLF) and Mac (CR) EOLs to UNIX (LF)
func NumberIntoInt64 ¶ added in v1.17.0
func NumberIntoInt64(number interface{}) int64
NumberIntoInt64 transform a given int into int64.
func PaginateSlice ¶ added in v1.14.0
func PaginateSlice(list interface{}, page, pageSize int) interface{}
PaginateSlice cut a slice as per pagination options if page = 0 it do not paginate
func PathEscapeSegments ¶ added in v1.8.0
PathEscapeSegments escapes segments of a path while not escaping forward slash
func ReadAtMost ¶ added in v1.15.6
ReadAtMost reads at most len(buf) bytes from r into buf. It returns the number of bytes copied. n is only less than len(buf) if r provides fewer bytes. If EOF occurs while reading, err will be nil.
func Remove ¶ added in v1.13.0
Remove removes the named file or (empty) directory with at most 5 attempts.
func RemoveAll ¶ added in v1.2.0
RemoveAll removes the named file or (empty) directory with at most 5 attempts.
func RemoveIDFromList ¶ added in v1.16.5
RemoveIDFromList removes the given ID from the slice, if found. It does not preserve order, and assumes the ID is unique.
func SanitizeCredentialURLs ¶ added in v1.17.0
SanitizeCredentialURLs remove all credentials in URLs (starting with "scheme://") for the input string: "https://user:pass@domain.com" => "https://sanitized-credential@domain.com"
func SanitizeErrorCredentialURLs ¶ added in v1.17.0
SanitizeErrorCredentialURLs wraps the error and make sure the returned error message doesn't contain sensitive credentials in URLs
func SecToTime ¶ added in v1.17.0
SecToTime converts an amount of seconds to a human-readable string. E.g. 66s -> 1 minute 6 seconds 52410s -> 14 hours 33 minutes 563418 -> 6 days 12 hours 1563418 -> 2 weeks 4 days 3937125s -> 1 month 2 weeks 45677465s -> 1 year 6 months
func ShellEscape ¶ added in v1.13.0
ShellEscape will escape the provided string. We can't just use go-shellquote here because our preferences for escaping differ from those in that we want:
* If the string doesn't require any escaping just leave it as it is. * If the string requires any escaping prefer double quote escaping * If we have ! or newlines then we need to use single quote escaping
func SplitStringAtByteN ¶ added in v1.15.0
SplitStringAtByteN splits a string at byte n accounting for rune boundaries. (Combining characters are not accounted for.)
func SplitStringAtRuneN ¶ added in v1.16.0
SplitStringAtRuneN splits a string at rune n accounting for rune boundaries. (Combining characters are not accounted for.)
func StatDir ¶ added in v1.14.0
StatDir gathers information of given directory by depth-first. It returns slice of file list and includes subdirectories if enabled; it returns error and nil slice when error occurs in underlying functions, or given path is not a directory or does not exist.
Slice does not include given path itself. If subdirectories is enabled, they will have suffix '/'.
func StopTimer ¶ added in v1.11.5
StopTimer is a utility function to safely stop a time.Timer and clean its channel
func ToSnakeCase ¶ added in v1.17.0
ToSnakeCase convert the input string to snake_case format.
Some samples.
"FirstName" => "first_name" "HTTPServer" => "http_server" "NoHTTPS" => "no_https" "GO_PATH" => "go_path" "GO PATH" => "go_path" // space is converted to underscore. "GO-PATH" => "go_path" // hyphen is converted to underscore.
func ToTitleCase ¶ added in v1.17.0
ToTitleCase returns s with all english words capitalized
func ToUpperASCII ¶ added in v1.17.0
ToUpperASCII returns s with all ASCII letters mapped to their upper case.
Types ¶
type Int64Slice ¶ added in v1.3.0
type Int64Slice []int64
Int64Slice attaches the methods of Interface to []int64, sorting in increasing order.
func (Int64Slice) Len ¶ added in v1.3.0
func (p Int64Slice) Len() int
func (Int64Slice) Less ¶ added in v1.3.0
func (p Int64Slice) Less(i, j int) bool
func (Int64Slice) Swap ¶ added in v1.3.0
func (p Int64Slice) Swap(i, j int)
type OptionalBool ¶
type OptionalBool byte
OptionalBool a boolean that can be "null"
const ( // OptionalBoolNone a "null" boolean value OptionalBoolNone OptionalBool = iota // OptionalBoolTrue a "true" boolean value OptionalBoolTrue // OptionalBoolFalse a "false" boolean value OptionalBoolFalse )
func OptionalBoolOf ¶
func OptionalBoolOf(b bool) OptionalBool
OptionalBoolOf get the corresponding OptionalBool of a bool
func OptionalBoolParse ¶ added in v1.16.0
func OptionalBoolParse(s string) OptionalBool
OptionalBoolParse get the corresponding OptionalBool of a string using strconv.ParseBool
func (OptionalBool) IsFalse ¶ added in v1.3.0
func (o OptionalBool) IsFalse() bool
IsFalse return true if equal to OptionalBoolFalse
func (OptionalBool) IsNone ¶ added in v1.3.0
func (o OptionalBool) IsNone() bool
IsNone return true if equal to OptionalBoolNone
func (OptionalBool) IsTrue ¶ added in v1.3.0
func (o OptionalBool) IsTrue() bool
IsTrue return true if equal to OptionalBoolTrue
type SilentWrap ¶ added in v1.17.4
SilentWrap provides a simple wrapper for a wrapped error where the wrapped error message plays no part in the error message Especially useful for "untyped" errors created with "errors.New(…)" that can be classified as 'invalid argument', 'permission denied', 'exists already', or 'does not exist'
func (SilentWrap) Error ¶ added in v1.17.4
func (w SilentWrap) Error() string
Error returns the message
func (SilentWrap) Unwrap ¶ added in v1.17.4
func (w SilentWrap) Unwrap() error
Unwrap returns the underlying error