mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-27 18:01:21 +03:00
943753f560
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>
45 lines
1.2 KiB
Go
45 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)
|
|
}
|