Documentation ¶
Index ¶
- func Array2DEquals(a [][]string, b [][]string) bool
- func ArrayEquals(a []string, b []string) bool
- func ArrayRemoveDuplicates(s *[]string)
- func ArrayToString(s []string) string
- func EscapeAssertion(s string) string
- func GenerateConditionalGFunction(crm rbac.ConditionalRoleManager) govaluate.ExpressionFunction
- func GenerateGFunction(rm rbac.RoleManager) govaluate.ExpressionFunction
- func GetEvalValue(s string) []string
- func GlobMatch(key1 string, key2 string) (bool, error)
- func GlobMatchFunc(args ...interface{}) (interface{}, error)
- func HasEval(s string) bool
- func IPMatch(ip1 string, ip2 string) bool
- func IPMatchFunc(args ...interface{}) (interface{}, error)
- func IsNumeric(s string) bool
- func JoinSlice(a string, b ...string) []string
- func JoinSliceAny(a string, b ...string) []interface{}
- func KeyGet(key1, key2 string) string
- func KeyGet2(key1, key2 string, pathVar string) string
- func KeyGet2Func(args ...interface{}) (interface{}, error)
- func KeyGet3(key1, key2 string, pathVar string) string
- func KeyGet3Func(args ...interface{}) (interface{}, error)
- func KeyGetFunc(args ...interface{}) (interface{}, error)
- func KeyMatch(key1 string, key2 string) bool
- func KeyMatch2(key1 string, key2 string) bool
- func KeyMatch2Func(args ...interface{}) (interface{}, error)
- func KeyMatch3(key1 string, key2 string) bool
- func KeyMatch3Func(args ...interface{}) (interface{}, error)
- func KeyMatch4(key1 string, key2 string) bool
- func KeyMatch4Func(args ...interface{}) (interface{}, error)
- func KeyMatch5(key1 string, key2 string) bool
- func KeyMatch5Func(args ...interface{}) (interface{}, error)
- func KeyMatchFunc(args ...interface{}) (interface{}, error)
- func ParamsToString(s ...string) string
- func RegexMatch(key1 string, key2 string) bool
- func RegexMatchFunc(args ...interface{}) (interface{}, error)
- func RemoveComments(s string) string
- func RemoveDuplicateElement(s []string) []string
- func ReplaceEval(s string, rule string) string
- func ReplaceEvalWithMap(src string, sets map[string]string) string
- func Set2DEquals(a [][]string, b [][]string) bool
- func SetEquals(a []string, b []string) bool
- func SetEqualsInt(a []int, b []int) bool
- func SetSubtract(a []string, b []string) []string
- func SortArray2D(arr [][]string)
- func SortedArray2DEquals(a [][]string, b [][]string) bool
- func TimeMatch(startTime, endTime string) (bool, error)
- func TimeMatchFunc(args ...string) (bool, error)
- type LRUCache
- type SyncLRUCache
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Array2DEquals ¶
Array2DEquals determines whether two 2-dimensional string arrays are identical.
func ArrayEquals ¶
ArrayEquals determines whether two string arrays are identical.
func ArrayRemoveDuplicates ¶
func ArrayRemoveDuplicates(s *[]string)
ArrayRemoveDuplicates removes any duplicated elements in a string array.
func ArrayToString ¶
ArrayToString gets a printable string for a string array.
func EscapeAssertion ¶
EscapeAssertion escapes the dots in the assertion, because the expression evaluation doesn't support such variable names.
func GenerateConditionalGFunction ¶
func GenerateConditionalGFunction(crm rbac.ConditionalRoleManager) govaluate.ExpressionFunction
GenerateConditionalGFunction is the factory method of the g(_, _[, _]) function with conditions.
func GenerateGFunction ¶
func GenerateGFunction(rm rbac.RoleManager) govaluate.ExpressionFunction
GenerateGFunction is the factory method of the g(_, _[, _]) function.
func GetEvalValue ¶
GetEvalValue returns the parameters of function eval
func GlobMatchFunc ¶
func GlobMatchFunc(args ...interface{}) (interface{}, error)
GlobMatchFunc is the wrapper for GlobMatch.
func IPMatch ¶
IPMatch determines whether IP address ip1 matches the pattern of IP address ip2, ip2 can be an IP address or a CIDR pattern. For example, "192.168.2.123" matches "192.168.2.0/24"
func IPMatchFunc ¶
func IPMatchFunc(args ...interface{}) (interface{}, error)
IPMatchFunc is the wrapper for IPMatch.
func JoinSliceAny ¶
JoinSliceAny joins a string and a slice into a new interface{} slice.
func KeyGet ¶
KeyGet returns the matched part For example, "/foo/bar/foo" matches "/foo/*" "bar/foo" will been returned
func KeyGet2 ¶
KeyGet2 returns value matched pattern For example, "/resource1" matches "/:resource" if the pathVar == "resource", then "resource1" will be returned
func KeyGet2Func ¶
func KeyGet2Func(args ...interface{}) (interface{}, error)
KeyGet2Func is the wrapper for KeyGet2
func KeyGet3 ¶
KeyGet3 returns value matched pattern For example, "project/proj_project1_admin/" matches "project/proj_{project}_admin/" if the pathVar == "project", then "project1" will be returned
func KeyGet3Func ¶
func KeyGet3Func(args ...interface{}) (interface{}, error)
KeyGet3Func is the wrapper for KeyGet3
func KeyGetFunc ¶
func KeyGetFunc(args ...interface{}) (interface{}, error)
KeyGetFunc is the wrapper for KeyGet
func KeyMatch ¶
KeyMatch determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *. For example, "/foo/bar" matches "/foo/*"
func KeyMatch2 ¶
KeyMatch2 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *. For example, "/foo/bar" matches "/foo/*", "/resource1" matches "/:resource"
func KeyMatch2Func ¶
func KeyMatch2Func(args ...interface{}) (interface{}, error)
KeyMatch2Func is the wrapper for KeyMatch2.
func KeyMatch3 ¶
KeyMatch3 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *. For example, "/foo/bar" matches "/foo/*", "/resource1" matches "/{resource}"
func KeyMatch3Func ¶
func KeyMatch3Func(args ...interface{}) (interface{}, error)
KeyMatch3Func is the wrapper for KeyMatch3.
func KeyMatch4 ¶
KeyMatch4 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a *. Besides what KeyMatch3 does, KeyMatch4 can also match repeated patterns: "/parent/123/child/123" matches "/parent/{id}/child/{id}" "/parent/123/child/456" does not match "/parent/{id}/child/{id}" But KeyMatch3 will match both.
func KeyMatch4Func ¶
func KeyMatch4Func(args ...interface{}) (interface{}, error)
KeyMatch4Func is the wrapper for KeyMatch4.
func KeyMatch5 ¶
KeyMatch5 determines whether key1 matches the pattern of key2 (similar to RESTful path), key2 can contain a * For example, - "/foo/bar?status=1&type=2" matches "/foo/bar" - "/parent/child1" and "/parent/child1" matches "/parent/*" - "/parent/child1?status=1" matches "/parent/*"
func KeyMatch5Func ¶
func KeyMatch5Func(args ...interface{}) (interface{}, error)
KeyMatch5Func is the wrapper for KeyMatch5.
func KeyMatchFunc ¶
func KeyMatchFunc(args ...interface{}) (interface{}, error)
KeyMatchFunc is the wrapper for KeyMatch.
func ParamsToString ¶
ParamsToString gets a printable string for variable number of parameters.
func RegexMatch ¶
RegexMatch determines whether key1 matches the pattern of key2 in regular expression.
func RegexMatchFunc ¶
func RegexMatchFunc(args ...interface{}) (interface{}, error)
RegexMatchFunc is the wrapper for RegexMatch.
func RemoveComments ¶
RemoveComments removes the comments starting with # in the text.
func RemoveDuplicateElement ¶
func ReplaceEval ¶
ReplaceEval replace function eval with the value of its parameters
func ReplaceEvalWithMap ¶
ReplaceEvalWithMap replace function eval with the value of its parameters via given sets.
func Set2DEquals ¶
SetEquals determines whether two string sets are identical.
func SetEqualsInt ¶
SetEquals determines whether two string sets are identical.
func SetSubtract ¶
SetSubtract returns the elements in `a` that aren't in `b`.
func SortArray2D ¶
func SortArray2D(arr [][]string)
SortArray2D Sorts the two-dimensional string array
func SortedArray2DEquals ¶
SortedArray2DEquals determines whether two 2-dimensional string arrays are identical.
func TimeMatch ¶
TimeMatch determines whether the current time is between startTime and endTime. You can use "_" to indicate that the parameter is ignored
func TimeMatchFunc ¶
TimeMatchFunc is the wrapper for TimeMatch.
Types ¶
type LRUCache ¶
type LRUCache struct {
// contains filtered or unexported fields
}
func NewLRUCache ¶
type SyncLRUCache ¶
type SyncLRUCache struct { *LRUCache // contains filtered or unexported fields }
func NewSyncLRUCache ¶
func NewSyncLRUCache(capacity int) *SyncLRUCache
func (*SyncLRUCache) Get ¶
func (cache *SyncLRUCache) Get(key interface{}) (value interface{}, ok bool)
func (*SyncLRUCache) Put ¶
func (cache *SyncLRUCache) Put(key interface{}, value interface{})