aboutsummaryrefslogtreecommitdiff
path: root/route.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-03-28 19:49:29 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-03-28 19:49:29 +0200
commit1c6056b6fcc22e4335683f6e0f28b7d73b2013e9 (patch)
tree3e779bb0606ac7877027552a896c65918ac8e44f /route.go
parentdbb5e2ce7f1ff71e29d4065957d0ab603d2157c0 (diff)
Cleanup
Diffstat (limited to 'route.go')
-rw-r--r--route.go50
1 files changed, 0 insertions, 50 deletions
diff --git a/route.go b/route.go
index 8f77120..7596023 100644
--- a/route.go
+++ b/route.go
@@ -3,10 +3,6 @@ package goxy
import (
"crypto/tls"
"errors"
- "net/http"
- "net/http/httputil"
- "net/url"
- "strings"
)
// Route defines a set of routes including correspondent TLS certificates
@@ -36,49 +32,3 @@ func (e Entry) String() string {
}
return ret
}
-
-func NewReverseProxy(target *url.URL) *httputil.ReverseProxy {
- director := func(req *http.Request) {
- //log.Println("director", req)
- req.URL.Scheme = target.Scheme
- req.URL.Host = target.Host
- }
- return &httputil.ReverseProxy{Director: director}
-}
-
-// Restore and update routes from in-memory state
-func (s *Server) Restore() error {
- mux := http.NewServeMux()
- for k, v := range s.Route {
- if v.Cert != nil && v.Key != nil {
- cert, err := tls.X509KeyPair(v.Cert, v.Key)
- if err != nil {
- return err
- }
- v.cert = &cert
- s.Route[k] = v
- }
- up, err := url.Parse(v.Upstream)
- if err != nil {
- return err
- }
- if !strings.Contains(v.ServerName, "/") {
- v.ServerName += "/"
- }
- //mux.Handle(v.ServerName, httputil.NewSingleHostReverseProxy(up))
- switch up.Scheme {
- case "ws":
- //log.Println("ws", v.ServerName, up)
- mux.Handle(v.ServerName, NewWebSocketProxy(up))
- default:
- //log.Println("http", v.ServerName, up)
- mux.Handle(v.ServerName, NewReverseProxy(up))
- }
- mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
- //log.Printf("%+v\n", r)
- http.Error(w, "gone", http.StatusGone)
- })
- }
- s.Server.Handler = mux
- return nil
-}