middleware

package
v0.8.83 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2026 License: AGPL-3.0, AGPL-3.0-or-later, Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ErrUnknownClientPeer middlewareError = "middleware: auth: unknown client peer"
	ErrStreamReadError   middlewareError = "middleware: stream: reading failed"
	ErrInternalNodeError middlewareError = "middleware: internal node error"
	ErrStaleMessage      middlewareError = "middleware: auth: stale or replayed message"
	ErrRateLimited       middlewareError = "middleware: too many requests for this route"
)
View Source
const (
	InternalNodeErrorCode = 5000
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AliasPairer added in v0.8.77

type AliasPairer interface {
	GetNodeIDs() (ids []string, err error)
}

type StreamLimiter added in v0.8.77

type StreamLimiter interface {
	Allow(route stream.WarpRoute, remotePeer warpnet.WarpPeerID) bool
	Close()
}

StreamLimiter answers whether a peer may still call a route.

type WarpMiddleware

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

func NewWarpMiddleware

func NewWarpMiddleware(
	ownNodeId warpnet.WarpPeerID,
	aliases AliasPairer,
	limiter StreamLimiter,
) *WarpMiddleware

func (*WarpMiddleware) AuthMiddleware

func (*WarpMiddleware) Close added in v0.6.316

func (p *WarpMiddleware) Close()

func (*WarpMiddleware) Event added in v0.8.77

func (p *WarpMiddleware) Event() <-chan warpnet.PeerEvent

Event is what the middlewares saw the peers do. The channel is never closed.

func (*WarpMiddleware) IdempotencyMiddleware added in v0.8.77

func (p *WarpMiddleware) IdempotencyMiddleware(next warpnet.WarpHandlerFunc) warpnet.WarpHandlerFunc

func (*WarpMiddleware) LoggingMiddleware

func (p *WarpMiddleware) LoggingMiddleware(next warpnet.WarpHandlerFunc) warpnet.WarpHandlerFunc

func (*WarpMiddleware) RateLimiterMiddleware added in v0.8.77

func (p *WarpMiddleware) RateLimiterMiddleware(next warpnet.WarpHandlerFunc) warpnet.WarpHandlerFunc

Jump to

Keyboard shortcuts

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