Documentation ¶
Index ¶
- Constants
- Variables
- func GetBotGlobalLimit(token string) (uint, error)
- func GetBotId(token string) string
- func GetMetricsPath(route string) string
- func GetOptimisticBucketPath(url string, method string) string
- func GetSnowflakeCreatedAt(snowflake string) (time.Time, error)
- func HashCRC64(data string) uint64
- func IsNumericInput(str string) bool
- func IsSnowflake(str string) bool
- func ProcessRequest(item *QueueItem) *http.Response
- func SetLogger(l *logrus.Logger)
- func StartMetrics(port string)
- func StartProfileServer()
- type BotGatewayResponse
- type QueueChannel
- type QueueItem
- type RequestQueue
Constants ¶
View Source
const ( MajorUnknown = "unk" MajorChannels = "channels" MajorGuilds = "guilds" MajorWebhooks = "webhooks" MajorInvites = "invites" MajorInteractions = "interactions" )
View Source
const EpochDiscord = 1420070400000
Variables ¶
View Source
var ( ErrorCounter = promauto.NewCounter(prometheus.CounterOpts{ Name: "nirn_proxy_error", Help: "The total number of errors when processing requests", }) RequestSummary = prometheus.NewSummaryVec(prometheus.SummaryOpts{ Name: "nirn_proxy_requests", Help: "Request histogram", Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001}, }, []string{"method", "status", "route", "clientId"}) )
Functions ¶
func GetBotGlobalLimit ¶
func GetMetricsPath ¶
func GetOptimisticBucketPath ¶
func IsNumericInput ¶
func IsSnowflake ¶
func ProcessRequest ¶
func StartMetrics ¶
func StartMetrics(port string)
func StartProfileServer ¶
func StartProfileServer()
Types ¶
type BotGatewayResponse ¶
type QueueChannel ¶
type QueueChannel struct {
// contains filtered or unexported fields
}
type QueueItem ¶
type QueueItem struct { Req *http.Request Res *http.ResponseWriter // contains filtered or unexported fields }
type RequestQueue ¶
func NewRequestQueue ¶
Click to show internal directories.
Click to hide internal directories.