mirror of
				https://github.com/TeaOSLab/EdgeCommon.git
				synced 2025-11-04 05:00:24 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			771 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			771 B
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
 | 
						|
 | 
						|
package serverconfigs
 | 
						|
 | 
						|
import (
 | 
						|
	"errors"
 | 
						|
	"github.com/iwind/TeaGo/types"
 | 
						|
)
 | 
						|
 | 
						|
type ProxyProtocolVersion = int
 | 
						|
 | 
						|
const (
 | 
						|
	ProxyProtocolVersion1 ProxyProtocolVersion = 1
 | 
						|
	ProxyProtocolVersion2 ProxyProtocolVersion = 2
 | 
						|
)
 | 
						|
 | 
						|
// ProxyProtocolConfig PROXY Protocol配置
 | 
						|
type ProxyProtocolConfig struct {
 | 
						|
	IsOn    bool                 `yaml:"isOn" json:"isOn"`
 | 
						|
	Version ProxyProtocolVersion `yaml:"version" json:"version"`
 | 
						|
}
 | 
						|
 | 
						|
// Init 初始化
 | 
						|
func (this *ProxyProtocolConfig) Init() error {
 | 
						|
	if this.IsOn {
 | 
						|
		if this.Version != ProxyProtocolVersion1 && this.Version != ProxyProtocolVersion2 {
 | 
						|
			return errors.New("invalid ProxyProtocol version '" + types.String(this.Version) + "'")
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	return nil
 | 
						|
}
 |