mirror of
https://github.com/yusing/godoxy.git
synced 2026-03-21 00:50:21 +01:00
preparing for v0.5
This commit is contained in:
102
src/proxy/reverse_proxy_mod_test.go
Normal file
102
src/proxy/reverse_proxy_mod_test.go
Normal file
@@ -0,0 +1,102 @@
|
||||
package proxy
|
||||
|
||||
// import (
|
||||
// "net/http"
|
||||
// "net/url"
|
||||
// "os"
|
||||
// "reflect"
|
||||
// "testing"
|
||||
// "time"
|
||||
// )
|
||||
|
||||
// var proxy Entry
|
||||
// var proxyUrl, _ = url.Parse("http://127.0.0.1:8181")
|
||||
// var proxyServer = NewServer(ServerOptions{
|
||||
// Name: "proxy",
|
||||
// HTTPAddr: ":8080",
|
||||
// Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
// NewReverseProxy(proxyUrl, &http.Transport{}, &proxy).ServeHTTP(w, r)
|
||||
// }),
|
||||
// })
|
||||
|
||||
// var testServer = NewServer(ServerOptions{
|
||||
// Name: "test",
|
||||
// HTTPAddr: ":8181",
|
||||
// Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
// h := r.Header
|
||||
// for k, vv := range h {
|
||||
// for _, v := range vv {
|
||||
// w.Header().Add(k, v)
|
||||
// }
|
||||
// }
|
||||
// w.WriteHeader(http.StatusOK)
|
||||
// }),
|
||||
// })
|
||||
|
||||
// var httpClient = http.DefaultClient
|
||||
|
||||
// func TestMain(m *testing.M) {
|
||||
// proxyServer.Start()
|
||||
// testServer.Start()
|
||||
// time.Sleep(100 * time.Millisecond)
|
||||
// code := m.Run()
|
||||
// proxyServer.Stop()
|
||||
// testServer.Stop()
|
||||
// os.Exit(code)
|
||||
// }
|
||||
|
||||
// func TestSetHeader(t *testing.T) {
|
||||
// hWant := http.Header{"X-Test": []string{"foo", "bar"}, "X-Test2": []string{"baz"}}
|
||||
// proxy = Entry{
|
||||
// Alias: "test",
|
||||
// Scheme: "http",
|
||||
// Host: "127.0.0.1",
|
||||
// Port: "8181",
|
||||
// SetHeaders: hWant,
|
||||
// }
|
||||
// req, err := http.NewRequest("HEAD", "http://127.0.0.1:8080", nil)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// resp, err := httpClient.Do(req)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// hGot := resp.Header
|
||||
// t.Log("headers: ", hGot)
|
||||
// for k, v := range hWant {
|
||||
// if !reflect.DeepEqual(hGot[k], v) {
|
||||
// t.Errorf("header %s: expected %v, got %v", k, v, hGot[k])
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// func TestHideHeader(t *testing.T) {
|
||||
// hHide := []string{"X-Test", "X-Test2"}
|
||||
// proxy = Entry{
|
||||
// Alias: "test",
|
||||
// Scheme: "http",
|
||||
// Host: "127.0.0.1",
|
||||
// Port: "8181",
|
||||
// HideHeaders: hHide,
|
||||
// }
|
||||
// req, err := http.NewRequest("HEAD", "http://127.0.0.1:8080", nil)
|
||||
// for _, k := range hHide {
|
||||
// req.Header.Set(k, "foo")
|
||||
// }
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// resp, err := httpClient.Do(req)
|
||||
// if err != nil {
|
||||
// t.Fatal(err)
|
||||
// }
|
||||
// hGot := resp.Header
|
||||
// t.Log("headers: ", hGot)
|
||||
// for _, v := range hHide {
|
||||
// _, ok := hGot[v]
|
||||
// if ok {
|
||||
// t.Errorf("header %s: expected hidden, got %v", v, hGot[v])
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
Reference in New Issue
Block a user