rate

package
v0.0.12 Latest Latest
Warning

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

Go to latest
Published: Jan 26, 2020 License: Apache-2.0 Imports: 9 Imported by: 2

Documentation

Index

Constants

View Source
const ExtraDelay = 250 * time.Millisecond

ExtraDelay because Discord is trash. I've seen this in both litcord and discordgo, with dgo claiming from his experiments. RE: Those who want others to fix it for them: release the source code then.

Variables

View Source
var MajorRootPaths = []string{"channels", "guilds"}

TODO: webhook

Functions

func ParseBucketKey

func ParseBucketKey(path string) string

Types

type CustomRateLimit

type CustomRateLimit struct {
	// This string will match on a Printf format string.
	// e.g. /guilds/%s/channels/%s/...
	Contains string

	Reset time.Duration
}

type Limiter

type Limiter struct {
	// Only 1 per bucket
	CustomLimits []*CustomRateLimit
	// contains filtered or unexported fields
}

func NewLimiter

func NewLimiter() *Limiter

func (*Limiter) Acquire

func (l *Limiter) Acquire(ctx context.Context, path string) error

func (*Limiter) Release

func (l *Limiter) Release(path string, headers http.Header) error

Release releases the URL from the locks. This doesn't need a context for timing out, it doesn't block that much.

Jump to

Keyboard shortcuts

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