Files
proxy/proxy.go
Ian Gulliver 49de6d7daf Initial commit
2023-04-25 14:26:46 -07:00

41 lines
499 B
Go

package proxy
import "net"
type Proxy struct {
backend *net.TCPAddr
listener *net.TCPListener
}
func NewProxy(backend *net.TCPAddr) (*Proxy, error) {
var err error
p := &Proxy{
backend: backend,
}
p.listener, err = net.ListenTCP("tcp", nil)
if err != nil {
return nil, err
}
go p.accept()
return p, nil
}
func (p *Proxy) Close() {
p.listener.Close()
}
func (p *Proxy) accept() {
for {
conn, err := p.listener.Accept()
if err != nil {
return
}
conn.Close()
}
}