aboutsummaryrefslogtreecommitdiff
path: root/route.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-04-03 19:36:14 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-04-03 19:36:14 +0200
commitadc9524911d91c68e0b5c9b2ef0f2e0bd81e5c68 (patch)
tree4a399f3f9e8267fd07938e2b2ca5affdd3943355 /route.go
parent3b6c7c42268ef6349f88f9a56c58d7b6573d4830 (diff)
Add Entries
Diffstat (limited to 'route.go')
-rw-r--r--route.go16
1 files changed, 8 insertions, 8 deletions
diff --git a/route.go b/route.go
index 47c1ebd..19e0115 100644
--- a/route.go
+++ b/route.go
@@ -10,21 +10,21 @@ import (
"os"
)
-// Route defines a set of routes including correspondent TLS certificates
-type Route map[string]route
+// Routes defines a set of routes including correspondent TLS certificates
+type Routes map[string]Route
-type route struct {
+type Route struct {
ServerName *url.URL
Upstream *url.URL
Certificate *tls.Certificate
}
-func (r route) String() string {
+func (r Route) String() string {
return fmt.Sprintf("%v → %v", r.ServerName, r.Upstream)
}
// GetCertificate returns certificate for SNI negotiation
-func (r Route) GetCertificate(h *tls.ClientHelloInfo) (*tls.Certificate, error) {
+func (r Routes) GetCertificate(h *tls.ClientHelloInfo) (*tls.Certificate, error) {
host := h.ServerName
if v, ok := r[host]; ok && v.Certificate != nil {
return v.Certificate, nil
@@ -39,7 +39,7 @@ func (r Route) GetCertificate(h *tls.ClientHelloInfo) (*tls.Certificate, error)
}
// Save routes to persistent file
-func (r Route) Save(fname string) error {
+func (r Routes) Save(fname string) error {
fd, err := os.Create(fname)
if err != nil {
return err
@@ -49,7 +49,7 @@ func (r Route) Save(fname string) error {
}
// Load routes from persistent file
-func (r *Route) Load(fname string) error {
+func (r *Routes) Load(fname string) error {
fd, err := os.Open(fname)
if err != nil {
return err
@@ -58,7 +58,7 @@ func (r *Route) Load(fname string) error {
return json.NewDecoder(fd).Decode(r)
}
-func (r Route) ServeHTTP(w http.ResponseWriter, _ *http.Request) {
+func (r Routes) ServeHTTP(w http.ResponseWriter, _ *http.Request) {
for _, v := range r {
fmt.Fprintln(w, v)
}