Documentation ¶
Overview ¶
Package utils defines several functions used across the Teleport API and other packages
Index ¶
- Constants
- func CopyByteSlice(in []byte) []byte
- func CopyByteSlices(in [][]byte) [][]byte
- func CopyStrings(in []string) []string
- func Deduplicate(in []string) []string
- func GetDelegator(ctx context.Context) string
- func HumanTimeFormat(d time.Time) string
- func ObjectToStruct(in interface{}, out interface{}) error
- func ParseBool(value string) (bool, error)
- func SliceContainsStr(slice []string, value string) bool
- func StringSlicesEqual(a, b []string) bool
- func UTC(t *time.Time)
- func WithDelegator(ctx context.Context, delegator string) context.Context
- type Strings
Constants ¶
const ( // ContextDelegator is a delegator for access requests set in the context // of the request ContextDelegator contextKey = "delegator" )
const HumanTimeFormatString = "Mon Jan _2 15:04 UTC"
HumanTimeFormatString is a human readable date formatting
Variables ¶
This section is empty.
Functions ¶
func CopyByteSlice ¶
CopyByteSlice returns a copy of the byte slice.
func CopyByteSlices ¶
CopyByteSlices returns a copy of the byte slices.
func CopyStrings ¶
CopyStrings makes a deep copy of the passed in string slice and returns the copy.
func GetDelegator ¶
GetDelegator attempts to load the context value AccessRequestDelegator, returning the empty string if no value was found.
func HumanTimeFormat ¶
HumanTimeFormat formats time as recognized by humans
func ObjectToStruct ¶
func ObjectToStruct(in interface{}, out interface{}) error
ObjectToStruct is converts any structure into JSON and then unmarshalls it into another structure.
Teleport configuration uses this (strange, at first) trick to convert from one struct type to another, if their fields are loosely compatible via their `json` tags
Example: assume you have two structs:
type A struct { Name string `json:"name"` Age int `json:"age"` }
type B struct { FullName string `json:"name"` }
Now you can convert B to A:
b := &B{ FullName: "Bob Dilan"} var a *A utils.ObjectToStruct(b, &a) fmt.Println(a.Name) > "Bob Dilan"
func ParseBool ¶
ParseBool parses string as boolean value, returns error in case if value is not recognized
func SliceContainsStr ¶
SliceContainsStr returns 'true' if the slice contains the given value
func StringSlicesEqual ¶
StringSlicesEqual returns true if string slices equal
Types ¶
type Strings ¶
type Strings []string
Strings is a list of string that can unmarshal from list of strings or a scalar string from scalar yaml or json property
func (Strings) MarshalJSON ¶
MarshalJSON marshals to scalar value if there is only one value in the list to list otherwise
func (Strings) MarshalYAML ¶
MarshalYAML marshals to scalar value if there is only one value in the list, marshals to list otherwise
func (*Strings) UnmarshalJSON ¶
UnmarshalJSON unmarshals scalar string or strings slice to Strings
func (*Strings) UnmarshalYAML ¶
UnmarshalYAML is used to allow Strings to unmarshal from scalar string value or from the list
Directories ¶
Path | Synopsis |
---|---|
Package keypaths defines several keypaths used by multiple Teleport services.
|
Package keypaths defines several keypaths used by multiple Teleport services. |
Package sshutils defines several functions and types used across the Teleport API and other Teleport packages when working with SSH.
|
Package sshutils defines several functions and types used across the Teleport API and other Teleport packages when working with SSH. |
Package tlsutils contains utilities for TLS configuration and formats.
|
Package tlsutils contains utilities for TLS configuration and formats. |