mirror of
				https://github.com/go-gitea/gitea.git
				synced 2025-11-03 08:02:36 +09:00 
			
		
		
		
	This PR adds functionality to allow Gitea to sit behind an HAProxy and HAProxy protocolled connections directly. Fix #7508 Signed-off-by: Andrew Thornton <art27@cantab.net>
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
// Copyright 2020 The Gitea Authors. All rights reserved.
 | 
						|
// Use of this source code is governed by a MIT-style
 | 
						|
// license that can be found in the LICENSE file.
 | 
						|
 | 
						|
package proxyprotocol
 | 
						|
 | 
						|
import "fmt"
 | 
						|
 | 
						|
// ErrBadHeader is an error demonstrating a bad proxy header
 | 
						|
type ErrBadHeader struct {
 | 
						|
	Header []byte
 | 
						|
}
 | 
						|
 | 
						|
func (e *ErrBadHeader) Error() string {
 | 
						|
	return fmt.Sprintf("Unexpected proxy header: %v", e.Header)
 | 
						|
}
 | 
						|
 | 
						|
// ErrBadAddressType is an error demonstrating a bad proxy header with bad Address type
 | 
						|
type ErrBadAddressType struct {
 | 
						|
	Address string
 | 
						|
}
 | 
						|
 | 
						|
func (e *ErrBadAddressType) Error() string {
 | 
						|
	return fmt.Sprintf("Unexpected proxy header address type: %s", e.Address)
 | 
						|
}
 | 
						|
 | 
						|
// ErrBadRemote is an error demonstrating a bad proxy header with bad Remote
 | 
						|
type ErrBadRemote struct {
 | 
						|
	IP   string
 | 
						|
	Port string
 | 
						|
}
 | 
						|
 | 
						|
func (e *ErrBadRemote) Error() string {
 | 
						|
	return fmt.Sprintf("Unexpected proxy header remote IP and port: %s %s", e.IP, e.Port)
 | 
						|
}
 | 
						|
 | 
						|
// ErrBadLocal is an error demonstrating a bad proxy header with bad Local
 | 
						|
type ErrBadLocal struct {
 | 
						|
	IP   string
 | 
						|
	Port string
 | 
						|
}
 | 
						|
 | 
						|
func (e *ErrBadLocal) Error() string {
 | 
						|
	return fmt.Sprintf("Unexpected proxy header local IP and port: %s %s", e.IP, e.Port)
 | 
						|
}
 |