netramesh

Форк
0
/
proxy_test.go 
50 строк · 1.1 Кб
1
// Copyright 2009 The Go Authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style
3
// license that can be found in the LICENSE file.
4

5
package http
6

7
import (
8
	"net/url"
9
	"os"
10
	"testing"
11
)
12

13
// TODO(mattn):
14
//	test ProxyAuth
15

16
var cacheKeysTests = []struct {
17
	proxy  string
18
	scheme string
19
	addr   string
20
	key    string
21
}{
22
	{"", "http", "foo.com", "|http|foo.com"},
23
	{"", "https", "foo.com", "|https|foo.com"},
24
	{"http://foo.com", "http", "foo.com", "http://foo.com|http|"},
25
	{"http://foo.com", "https", "foo.com", "http://foo.com|https|foo.com"},
26
}
27

28
func TestCacheKeys(t *testing.T) {
29
	for _, tt := range cacheKeysTests {
30
		var proxy *url.URL
31
		if tt.proxy != "" {
32
			u, err := url.Parse(tt.proxy)
33
			if err != nil {
34
				t.Fatal(err)
35
			}
36
			proxy = u
37
		}
38
		cm := connectMethod{proxy, tt.scheme, tt.addr}
39
		if got := cm.key().String(); got != tt.key {
40
			t.Fatalf("{%q, %q, %q} cache key = %q; want %q", tt.proxy, tt.scheme, tt.addr, got, tt.key)
41
		}
42
	}
43
}
44

45
func ResetProxyEnv() {
46
	for _, v := range []string{"HTTP_PROXY", "http_proxy", "NO_PROXY", "no_proxy", "REQUEST_METHOD"} {
47
		os.Unsetenv(v)
48
	}
49
	ResetCachedEnvironment()
50
}
51

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.