utils

package
v1.5.12 Latest Latest
Warning

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

Go to latest
Published: Oct 27, 2023 License: MIT Imports: 12 Imported by: 11

Documentation

Index

Examples

Constants

This section is empty.

Variables

View Source
var DefaultYeast = &Yeast{}

Functions

func Base64Id

func Base64Id() *base64Id
Example
_, err := Base64Id().GenerateId()
fmt.Println(err)
Output:

<nil>

func CheckInvalidHeaderChar

func CheckInvalidHeaderChar(val string) bool

CheckInvalidHeaderChar reports whether v is an invalid "field-value" according to http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.2 :

message-header = field-name ":" [ field-value ]
field-value    = *( field-content | LWS )
field-content  = <the OCTETs making up the field-value
                 and consisting of either *TEXT or combinations
                 of token, separators, and quoted-string>

http://www.w3.org/Protocols/rfc2616/rfc2616-sec2.html#sec2.2 :

TEXT           = <any OCTET except CTLs,
                  but including LWS>
LWS            = [CRLF] 1*( SP | HT )
CTL            = <any US-ASCII control character
                 (octets 0 - 31) and DEL (127)>

RFC 7230 says:

field-value    = *( field-content / obs-fold )
obj-fold       =  N/A to http2, and deprecated
field-content  = field-vchar [ 1*( SP / HTAB ) field-vchar ]
field-vchar    = VCHAR / obs-text
obs-text       = %x80-FF
VCHAR          = "any visible [USASCII] character"

http2 further says: "Similarly, HTTP/2 allows header field values that are not valid. While most of the values that can be encoded will not alter header field parsing, carriage return (CR, ASCII 0xd), line feed (LF, ASCII 0xa), and the zero character (NUL, ASCII 0x0) might be exploited by an attacker if they are translated verbatim. Any request or response that contains a character not permitted in a header field value MUST be treated as malformed (Section 8.1.2.6). Valid characters are defined by the field-content ABNF rule in Section 3.2 of [RFC7230]."

This function does not (yet?) properly handle the rejection of strings that begin or end with SP or HTAB.

func CleanPath

func CleanPath(p string) string

func ClearInterval

func ClearInterval(timeout *Timer)

func ClearTimeout

func ClearTimeout(timeout *Timer)

func Contains

func Contains(haystack string, needles []string) string

func Log

func Log() *log.Log

func MsgPack added in v1.5.6

func MsgPack() *msgPack

func StripHostPort

func StripHostPort(h string) string

func Value added in v1.3.0

func Value(value string, _default string) string

func YeastDate added in v1.4.3

func YeastDate() (now string)

Types

type ParameterBag

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

func NewParameterBag

func NewParameterBag(parameters map[string][]string) *ParameterBag

func (*ParameterBag) Add

func (p *ParameterBag) Add(key string, value string)

Add adds the value to key. It appends to any existing values associated with key.

func (*ParameterBag) All

func (p *ParameterBag) All() map[string][]string

Returns the parameters.

func (*ParameterBag) Count

func (p *ParameterBag) Count() int

Returns the number of parameters.

func (*ParameterBag) Get

func (p *ParameterBag) Get(key string, _default ...string) (string, bool)

Returns a parameter by name.

func (*ParameterBag) GetFirst

func (p *ParameterBag) GetFirst(key string, _default ...string) (string, bool)

Returns a parameter by name.

func (*ParameterBag) GetLast

func (p *ParameterBag) GetLast(key string, _default ...string) (string, bool)

Returns a parameter by name.

func (*ParameterBag) Gets

func (p *ParameterBag) Gets(key string, _default ...[]string) ([]string, bool)

Returns a parameter by name.

func (*ParameterBag) Has

func (p *ParameterBag) Has(key string) bool

Returns true if the parameter is defined.

func (*ParameterBag) Keys

func (p *ParameterBag) Keys() (keys []string)

Returns the parameter keys.

func (*ParameterBag) Peek

func (p *ParameterBag) Peek(key string, _default ...string) string

func (*ParameterBag) Remove

func (p *ParameterBag) Remove(key string)

Removes a parameter.

func (*ParameterBag) Replace

func (p *ParameterBag) Replace(parameters map[string][]string)

Replaces the current parameters by a new set.

func (*ParameterBag) Set

func (p *ParameterBag) Set(key string, value string)

Sets a parameter by name.

func (*ParameterBag) With added in v1.1.14

func (p *ParameterBag) With(parameters map[string][]string)

Replaces the current parameters by a new set.

type Timer

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

func SetInterval

func SetInterval(fn func(), sleep time.Duration) *Timer

func SetTimeOut

func SetTimeOut(fn func(), sleep time.Duration) *Timer

func (*Timer) Refresh added in v1.0.7

func (t *Timer) Refresh() *Timer

func (*Timer) Unref added in v1.4.2

func (t *Timer) Unref()

type Yeast added in v1.4.3

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

func (*Yeast) Encode added in v1.4.3

func (y *Yeast) Encode(num int64) (encoded string)

func (*Yeast) Prev added in v1.4.3

func (y *Yeast) Prev() string

func (*Yeast) ResetSeed added in v1.4.3

func (y *Yeast) ResetSeed()

func (*Yeast) Seed added in v1.4.3

func (y *Yeast) Seed() int64

func (*Yeast) SetPrev added in v1.4.3

func (y *Yeast) SetPrev(prev string)

Jump to

Keyboard shortcuts

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