Просмотр исходного кода

Add tests for circuit breaker

tags/v2.0.0-rc1
9seconds 5 лет назад
Родитель
Сommit
c8914f90db
1 измененных файлов: 3 добавлений и 9 удалений
  1. 3
    9
      mtglib/network/load_balanced.go

+ 3
- 9
mtglib/network/load_balanced.go Просмотреть файл

@@ -2,6 +2,7 @@ package network
2 2
 
3 3
 import (
4 4
 	"context"
5
+	"fmt"
5 6
 	"math/rand"
6 7
 	"net"
7 8
 	"net/url"
@@ -31,19 +32,12 @@ func (l loadBalancedDialer) DialContext(ctx context.Context, network, address st
31 32
 }
32 33
 
33 34
 func NewLoadBalancedDialer(baseDialer Dialer, proxyURLs []*url.URL) (Dialer, error) {
34
-	switch len(proxyURLs) {
35
-	case 0:
36
-		return baseDialer, nil
37
-	case 1:
38
-		return NewSocks5Dialer(baseDialer, proxyURLs[0])
39
-	}
40
-
41
-	dialers := []Dialer{}
35
+	var dialers []Dialer
42 36
 
43 37
 	for _, u := range proxyURLs {
44 38
 		dialer, err := NewSocks5Dialer(newProxyDialer(baseDialer, u), u)
45 39
 		if err != nil {
46
-			return nil, err
40
+			return nil, fmt.Errorf("cannot build dialer for %s: %w", u.String(), err)
47 41
 		}
48 42
 
49 43
 		dialers = append(dialers, dialer)

Загрузка…
Отмена
Сохранить