Documentation ¶
Index ¶
- Constants
- Variables
- func AppendRequestLog(log *logrus.Entry, r *http.Request) *logrus.Entry
- func CreateCorsOptions(corsAllowedOrigins []string) *cors.Cors
- func GetRequestLog(ctx context.Context, r *http.Request) *logrus.Entry
- func GetServiceRequestLog(log *logrus.Entry, r *http.Request, service, operation string) *logrus.Entry
- func MiddlewarePeerRateLimiter(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc)
- func RegisterRateLimiter(ctx context.Context, rateLimit ratelimiter.RateLimitInfo) context.Context
- func RequesterIP(r *http.Request) string
- type StatsArgs
- type StatsReply
- type StatsService
Constants ¶
View Source
const (
Version string = "0.1"
)
Version
Variables ¶
View Source
var ( ErrRateLimit = errors.New("RateLimitReached") DefaultPeerRequestPerSecond = ratelimiter.RateLimitInfo{ Limit: redis_rate.Limit{ Period: time.Second, Rate: 100, Burst: 100, }, KeyPrefix: "PeerRequest", } )
View Source
var (
ErrNetworkingInternalError = errors.New("Networking Internal Error")
)
View Source
var (
StatsMiddleware = stats.New()
)
Functions ¶
func CreateCorsOptions ¶
func GetServiceRequestLog ¶
func MiddlewarePeerRateLimiter ¶
func MiddlewarePeerRateLimiter(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc)
MiddlewarePeerRateLimiter return StatusTooManyRequests if rate limite is reached
func RegisterRateLimiter ¶
func RegisterRateLimiter(ctx context.Context, rateLimit ratelimiter.RateLimitInfo) context.Context
func RequesterIP ¶
Types ¶
type StatsReply ¶
type StatsService ¶
type StatsService int
func (*StatsService) Status ¶
func (t *StatsService) Status(r *http.Request, args *StatsArgs, result *StatsReply) error
Click to show internal directories.
Click to hide internal directories.