aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-03-28 04:43:07 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-03-28 04:43:07 +0200
commit5215daf6ebf0316a57b09029ffe7b71608baafa1 (patch)
treeedf79231bb71b3a1cb85f9869642564a740157f8
parenta3633a98e48bd76b74016d171a7d32f86092cd47 (diff)
Not ready jet
-rw-r--r--rpc.go7
-rw-r--r--server.go5
-rw-r--r--server_test.go28
3 files changed, 22 insertions, 18 deletions
diff --git a/rpc.go b/rpc.go
index f33456f..032c3f4 100644
--- a/rpc.go
+++ b/rpc.go
@@ -1,9 +1,6 @@
package goxy
-import (
- "log"
- "net/rpc"
-)
+import "net/rpc"
type GoXY struct {
Server *Server
@@ -23,7 +20,6 @@ func DialRPC(server string) (*rpc.Client, error) {
// Add adds a new route (server)
func (s *GoXY) Add(e Entry, _ *struct{}) error {
- log.Println("Add route", e)
defer s.Server.Save()
s.Server.Route[e.ServerName] = e
return s.Server.Restore()
@@ -41,7 +37,6 @@ func Add(e Entry, server string) error {
// Del removes a route (server)
func (s *GoXY) Del(serverName string, _ *struct{}) error {
- log.Println("Del route", serverName)
defer s.Server.Save()
delete(s.Server.Route, serverName)
return s.Server.Restore()
diff --git a/server.go b/server.go
index 4cb40e0..110d81b 100644
--- a/server.go
+++ b/server.go
@@ -16,10 +16,7 @@ type Server struct {
func NewServer(fname string) (*Server, error) {
r := make(Route)
- s := http.Server{
- Handler: http.NewServeMux(),
- TLSConfig: &tls.Config{GetCertificate: r.GetCertificate},
- }
+ s := http.Server{TLSConfig: &tls.Config{GetCertificate: r.GetCertificate}}
server := &Server{Route: r, Server: s, Data: fname}
if err := server.Load(); err != nil {
log.Println(err)
diff --git a/server_test.go b/server_test.go
index 9dd10c9..9a8e651 100644
--- a/server_test.go
+++ b/server_test.go
@@ -5,6 +5,7 @@ import (
"io/ioutil"
"net/http"
"net/http/httptest"
+ "net/url"
"testing"
)
@@ -21,20 +22,31 @@ func TestNewServer(t *testing.T) {
t.Error(err)
}
- select {
- case err := <-server.Start():
+ rpcServer := httptest.NewServer(nil)
+ defer rpcServer.Close()
+
+ rpcURL, err := url.Parse(rpcServer.URL)
+ if err != nil {
+ t.Error(err)
+ }
+
+ err = Add(Entry{ServerName: "whatever", Upstream: backendServer.URL}, rpcURL.Host)
+ if err != nil {
t.Error(err)
- default:
}
- if err = Add(Entry{
- ServerName: "localhost",
- Upstream: backendServer.URL,
- }, ""); err != nil {
+ frontendServer := httptest.NewServer(server.Handler)
+ if err != nil {
t.Error(err)
}
- resp, err := http.Get("http://localhost")
+ client := &http.Client{}
+ req, err := http.NewRequest("GET", frontendServer.URL, nil)
+ if err != nil {
+ t.Error(err)
+ }
+ req.Header.Set("Host", "whatever")
+ resp, err := client.Do(req)
if err != nil {
t.Error(err)
}