Update
This commit is contained in:
47
vendor/github.com/pires/go-proxyproto/version_cmd.go
generated
vendored
Normal file
47
vendor/github.com/pires/go-proxyproto/version_cmd.go
generated
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
package proxyproto
|
||||
|
||||
// ProtocolVersionAndCommand represents the command in proxy protocol v2.
|
||||
// Command doesn't exist in v1 but it should be set since other parts of
|
||||
// this library may rely on it for determining connection details.
|
||||
type ProtocolVersionAndCommand byte
|
||||
|
||||
const (
|
||||
// LOCAL represents the LOCAL command in v2 or UNKNOWN transport in v1,
|
||||
// in which case no address information is expected.
|
||||
LOCAL ProtocolVersionAndCommand = '\x20'
|
||||
// PROXY represents the PROXY command in v2 or transport is not UNKNOWN in v1,
|
||||
// in which case valid local/remote address and port information is expected.
|
||||
PROXY ProtocolVersionAndCommand = '\x21'
|
||||
)
|
||||
|
||||
var supportedCommand = map[ProtocolVersionAndCommand]bool{
|
||||
LOCAL: true,
|
||||
PROXY: true,
|
||||
}
|
||||
|
||||
// IsLocal returns true if the command in v2 is LOCAL or the transport in v1 is UNKNOWN,
|
||||
// i.e. when no address information is expected, false otherwise.
|
||||
func (pvc ProtocolVersionAndCommand) IsLocal() bool {
|
||||
return LOCAL == pvc
|
||||
}
|
||||
|
||||
// IsProxy returns true if the command in v2 is PROXY or the transport in v1 is not UNKNOWN,
|
||||
// i.e. when valid local/remote address and port information is expected, false otherwise.
|
||||
func (pvc ProtocolVersionAndCommand) IsProxy() bool {
|
||||
return PROXY == pvc
|
||||
}
|
||||
|
||||
// IsUnspec returns true if the command is unspecified, false otherwise.
|
||||
func (pvc ProtocolVersionAndCommand) IsUnspec() bool {
|
||||
return !(pvc.IsLocal() || pvc.IsProxy())
|
||||
}
|
||||
|
||||
func (pvc ProtocolVersionAndCommand) toByte() byte {
|
||||
if pvc.IsLocal() {
|
||||
return byte(LOCAL)
|
||||
} else if pvc.IsProxy() {
|
||||
return byte(PROXY)
|
||||
}
|
||||
|
||||
return byte(LOCAL)
|
||||
}
|
||||
Reference in New Issue
Block a user