goo/scripted.go

45 lines
750 B
Go

package main
import (
"fmt"
"strconv"
)
type Proxy struct {
Domain string
Port int
}
var proxyList map[int]string
func ScriptedInit() {
proxyList = make(map[int]string)
}
func GetProxy() ([]Proxy) {
var p []Proxy
for port, domain := range proxyList {
p = append(p, Proxy{Domain: domain, Port: port})
}
return p
}
func AddProxy(domain string, port string) {
p, err := strconv.Atoi(port)
if err != nil {
fmt.Println(err)
fmt.Printf("Error: proxy for %s, port is not a number: %s\n", domain, port)
return
}
conflict, exists := proxyList[p]
if exists == true {
fmt.Println("Error: Conflicting proxy settings:")
fmt.Printf(" %s:%s\n", conflict, p)
fmt.Printf(" %s:%s\n", domain, p)
return
}
proxyList[p] = domain
}