Documentation
¶
Overview ¶
Package session provides functions for sessions of incoming requests.
Index ¶
- func ContextWithContent(ctx context.Context, content *Content) context.Context
- func ContextWithID(ctx context.Context, id ID) context.Context
- func ContextWithInbound(ctx context.Context, inbound *Inbound) context.Context
- func ContextWithMuxPrefered(ctx context.Context, forced bool) context.Context
- func ContextWithOutbound(ctx context.Context, outbound *Outbound) context.Context
- func ExportIDToError(ctx context.Context) errors.ExportOption
- func MuxPreferedFromContext(ctx context.Context) bool
- type Content
- type ID
- type Inbound
- type Outbound
- type SniffingRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ContextWithContent ¶
func ContextWithID ¶
ContextWithID returns a new context with the given ID.
func ContextWithInbound ¶
func ContextWithMuxPrefered ¶
ContextWithMuxPrefered returns a new context with the given bool
func ContextWithOutbound ¶
func ExportIDToError ¶
func ExportIDToError(ctx context.Context) errors.ExportOption
ExportIDToError transfers session.ID into an error object, for logging purpose. This can be used with error.WriteToLog().
func MuxPreferedFromContext ¶
MuxPreferedFromContext returns value in this context, or false if not contained.
Types ¶
type Content ¶
type Content struct {
// Protocol of current content.
Protocol string
SniffingRequest SniffingRequest
Attributes map[string]interface{}
SkipRoutePick bool
}
Content is the metadata of the connection content.
func ContentFromContext ¶
func (*Content) SetAttribute ¶
type ID ¶
type ID uint32
ID of a session.
func IDFromContext ¶
IDFromContext returns ID in this context, or 0 if not contained.
type Inbound ¶
type Inbound struct {
// Source address of the inbound connection.
Source net.Destination
// Getaway address
Gateway net.Destination
// Tag of the inbound proxy that handles the connection.
Tag string
// User is the user that authencates for the inbound. May be nil if the protocol allows anounymous traffic.
User *protocol.MemoryUser
}
Inbound is the metadata of an inbound connection.
func InboundFromContext ¶
type Outbound ¶
type Outbound struct {
// Target address of the outbound connection.
Target net.Destination
// Gateway address
Gateway net.Address
// ResolvedIPs is the resolved IP addresses, if the Targe is a domain address.
ResolvedIPs []net.IP
}
Outbound is the metadata of an outbound connection.
func OutboundFromContext ¶
type SniffingRequest ¶
Click to show internal directories.
Click to hide internal directories.