aboutsummaryrefslogtreecommitdiff
path: root/client_test.go
diff options
context:
space:
mode:
authorGravatar Erik Dubbelboer <erik@dubbelboer.com> 2020-05-02 20:54:58 +0200
committerGravatar Erik Dubbelboer <erik@dubbelboer.com> 2020-05-02 21:01:52 +0200
commitdacd0353f962b4e49f19c5d087ae3d5c1e119d2d (patch)
tree19059d03e604b335c58d9eb9523a8b7c8ef4cfee /client_test.go
parentCopy to the req.Header.userAgent from the defaultUserAgent (#796) (diff)
downloadfasthttp-dacd0353f962b4e49f19c5d087ae3d5c1e119d2d.tar.gz
fasthttp-dacd0353f962b4e49f19c5d087ae3d5c1e119d2d.tar.bz2
fasthttp-dacd0353f962b4e49f19c5d087ae3d5c1e119d2d.zip
HostClient can't switch between protocols
Diffstat (limited to 'client_test.go')
-rw-r--r--client_test.go49
1 files changed, 39 insertions, 10 deletions
diff --git a/client_test.go b/client_test.go
index 3f9bc77..4ba78c3 100644
--- a/client_test.go
+++ b/client_test.go
@@ -245,7 +245,7 @@ func TestClientRedirectSameSchema(t *testing.T) {
urlParsed, err := url.Parse(destURL)
if err != nil {
- fmt.Println(err)
+ t.Fatal(err)
return
}
@@ -270,7 +270,7 @@ func TestClientRedirectSameSchema(t *testing.T) {
}
-func TestClientRedirectChangingSchemaHttp2Https(t *testing.T) {
+func TestClientRedirectClientChangingSchemaHttp2Https(t *testing.T) {
t.Parallel()
listenHTTPS := testClientRedirectListener(t, true)
@@ -287,14 +287,7 @@ func TestClientRedirectChangingSchemaHttp2Https(t *testing.T) {
destURL := fmt.Sprintf("http://%s/baz", listenHTTP.Addr().String())
- urlParsed, err := url.Parse(destURL)
- if err != nil {
- fmt.Println(err)
- return
- }
-
- reqClient := &HostClient{
- Addr: urlParsed.Host,
+ reqClient := &Client{
TLSConfig: &tls.Config{
InsecureSkipVerify: true,
},
@@ -312,6 +305,42 @@ func TestClientRedirectChangingSchemaHttp2Https(t *testing.T) {
}
}
+func TestClientRedirectHostClientChangingSchemaHttp2Https(t *testing.T) {
+ t.Parallel()
+
+ listenHTTPS := testClientRedirectListener(t, true)
+ defer listenHTTPS.Close()
+
+ listenHTTP := testClientRedirectListener(t, false)
+ defer listenHTTP.Close()
+
+ sHTTPS := testClientRedirectChangingSchemaServer(t, listenHTTPS, listenHTTP, true)
+ defer sHTTPS.Stop()
+
+ sHTTP := testClientRedirectChangingSchemaServer(t, listenHTTPS, listenHTTP, false)
+ defer sHTTP.Stop()
+
+ destURL := fmt.Sprintf("http://%s/baz", listenHTTP.Addr().String())
+
+ urlParsed, err := url.Parse(destURL)
+ if err != nil {
+ t.Fatal(err)
+ return
+ }
+
+ reqClient := &HostClient{
+ Addr: urlParsed.Host,
+ TLSConfig: &tls.Config{
+ InsecureSkipVerify: true,
+ },
+ }
+
+ _, _, err = reqClient.GetTimeout(nil, destURL, 4000*time.Millisecond)
+ if err != ErrHostClientRedirectToDifferentScheme {
+ t.Fatal("expected HostClient error")
+ }
+}
+
func testClientRedirectListener(t *testing.T, isTLS bool) net.Listener {
var ln net.Listener
var err error