Minor formatting issues

This commit is contained in:
9seconds
2021-03-11 21:50:47 +03:00
parent 5c4536c591
commit c0ab254acf
13 changed files with 16 additions and 50 deletions
+1 -1
View File
@@ -10,4 +10,4 @@ format = "colored-line-number"
[linters] [linters]
enable-all = true enable-all = true
disable = ["gochecknoglobals", "gas", "gomnd", "goerr113", "exhaustivestruct"] disable = ["gochecknoglobals", "gas", "goerr113", "exhaustivestruct"]
+2 -8
View File
@@ -44,18 +44,17 @@ func (c *Access) Run(cli *CLI, version string) error {
return fmt.Errorf("cannot init config: %w", err) return fmt.Errorf("cannot init config: %w", err)
} }
wg := &sync.WaitGroup{}
resp := &accessResponse{} resp := &accessResponse{}
resp.Secret.Base64 = c.conf.Secret.Base64() resp.Secret.Base64 = c.conf.Secret.Base64()
resp.Secret.Hex = c.conf.Secret.Hex() resp.Secret.Hex = c.conf.Secret.Hex()
wg.Add(2) wg := &sync.WaitGroup{}
wg.Add(2) // nolint: gomnd
go func() { go func() {
defer wg.Done() defer wg.Done()
ip := c.conf.Network.PublicIP.IPv4.Value(nil) ip := c.conf.Network.PublicIP.IPv4.Value(nil)
if ip == nil { if ip == nil {
ip = c.getIP("tcp4") ip = c.getIP("tcp4")
} }
@@ -71,7 +70,6 @@ func (c *Access) Run(cli *CLI, version string) error {
defer wg.Done() defer wg.Done()
ip := c.conf.Network.PublicIP.IPv4.Value(nil) ip := c.conf.Network.PublicIP.IPv4.Value(nil)
if ip == nil { if ip == nil {
ip = c.getIP("tcp6") ip = c.getIP("tcp6")
} }
@@ -86,7 +84,6 @@ func (c *Access) Run(cli *CLI, version string) error {
wg.Wait() wg.Wait()
encoder := json.NewEncoder(os.Stdout) encoder := json.NewEncoder(os.Stdout)
encoder.SetEscapeHTML(false) encoder.SetEscapeHTML(false)
encoder.SetIndent("", " ") encoder.SetIndent("", " ")
@@ -137,7 +134,6 @@ func (c *Access) makeURLs(ip net.IP, cli *CLI) *accessResponseURLs {
} }
values := url.Values{} values := url.Values{}
values.Set("server", ip.String()) values.Set("server", ip.String())
values.Set("port", strconv.Itoa(int(c.conf.BindTo.PortValue(0)))) values.Set("port", strconv.Itoa(int(c.conf.BindTo.PortValue(0))))
@@ -163,7 +159,6 @@ func (c *Access) makeURLs(ip net.IP, cli *CLI) *accessResponseURLs {
RawQuery: urlQuery, RawQuery: urlQuery,
}).String(), }).String(),
} }
rv.TgQrCode = c.makeQRCode(rv.TgURL) rv.TgQrCode = c.makeQRCode(rv.TgURL)
rv.TmeQrCode = c.makeQRCode(rv.TmeURL) rv.TmeQrCode = c.makeQRCode(rv.TmeURL)
@@ -172,7 +167,6 @@ func (c *Access) makeURLs(ip net.IP, cli *CLI) *accessResponseURLs {
func (c *Access) makeQRCode(data string) string { func (c *Access) makeQRCode(data string) string {
values := url.Values{} values := url.Values{}
values.Set("qzone", "4") values.Set("qzone", "4")
values.Set("format", "svg") values.Set("format", "svg")
values.Set("data", data) values.Set("data", data)
+6 -8
View File
@@ -122,23 +122,21 @@ type configRaw struct {
func Parse(rawData []byte) (*Config, error) { func Parse(rawData []byte) (*Config, error) {
rawConf := &configRaw{} rawConf := &configRaw{}
jsonBuf := &bytes.Buffer{}
conf := &Config{}
jsonEncoder := json.NewEncoder(jsonBuf)
jsonEncoder.SetEscapeHTML(false)
jsonEncoder.SetIndent("", "")
if err := toml.Unmarshal(rawData, rawConf); err != nil { if err := toml.Unmarshal(rawData, rawConf); err != nil {
return nil, fmt.Errorf("cannot parse toml config: %w", err) return nil, fmt.Errorf("cannot parse toml config: %w", err)
} }
jsonBuf := &bytes.Buffer{}
jsonEncoder := json.NewEncoder(jsonBuf)
jsonEncoder.SetEscapeHTML(false)
jsonEncoder.SetIndent("", "")
if err := jsonEncoder.Encode(rawConf); err != nil { if err := jsonEncoder.Encode(rawConf); err != nil {
return nil, fmt.Errorf("cannot dump into interim format: %w", err) return nil, fmt.Errorf("cannot dump into interim format: %w", err)
} }
conf := &Config{}
if err := json.NewDecoder(jsonBuf).Decode(conf); err != nil { if err := json.NewDecoder(jsonBuf).Decode(conf); err != nil {
return nil, fmt.Errorf("cannot parse final config: %w", err) return nil, fmt.Errorf("cannot parse final config: %w", err)
} }
+3 -1
View File
@@ -5,6 +5,8 @@ import (
"strconv" "strconv"
) )
const typeErrorRateIgnoreLess = 1e-8
type TypeErrorRate struct { type TypeErrorRate struct {
value float64 value float64
} }
@@ -33,7 +35,7 @@ func (c TypeErrorRate) String() string {
} }
func (c TypeErrorRate) Value(defaultValue float64) float64 { func (c TypeErrorRate) Value(defaultValue float64) float64 {
if c.value < 1e-8 { if c.value < typeErrorRateIgnoreLess {
return defaultValue return defaultValue
} }
-1
View File
@@ -15,7 +15,6 @@ func (c *TypeMetricPrefix) UnmarshalText(data []byte) error {
} }
prefix := string(data) prefix := string(data)
if ok, err := regexp.MatchString("^[a-z0-9]+$", prefix); !ok || err != nil { if ok, err := regexp.MatchString("^[a-z0-9]+$", prefix); !ok || err != nil {
return fmt.Errorf("incorrect metric prefix: %s", prefix) return fmt.Errorf("incorrect metric prefix: %s", prefix)
} }
-2
View File
@@ -125,7 +125,6 @@ func (c *circuitBreakerDialer) switchState(state uint32) {
} }
c.failuresCount = 0 c.failuresCount = 0
atomic.StoreUint32(&c.halfOpenAttempts, 0) atomic.StoreUint32(&c.halfOpenAttempts, 0)
atomic.StoreUint32(&c.state, state) atomic.StoreUint32(&c.state, state)
} }
@@ -158,7 +157,6 @@ func (c *circuitBreakerDialer) tryHalfOpen() {
func (c *circuitBreakerDialer) stopTimer(timerRef **time.Timer) { func (c *circuitBreakerDialer) stopTimer(timerRef **time.Timer) {
timer := *timerRef timer := *timerRef
if timer == nil { if timer == nil {
return return
} }
@@ -51,7 +51,6 @@ func (suite *CircuitBreakerTestSuite) TestMultipleRunsOk() {
Return(suite.connMock, nil) Return(suite.connMock, nil)
wg := &sync.WaitGroup{} wg := &sync.WaitGroup{}
wg.Add(5) wg.Add(5)
go func() { go func() {
@@ -126,7 +125,6 @@ func (suite *CircuitBreakerTestSuite) TestHalfOpen() {
time.Sleep(500 * time.Millisecond) time.Sleep(500 * time.Millisecond)
conn, err := suite.d.DialContext(suite.ctx, "tcp", "127.0.0.2") conn, err := suite.d.DialContext(suite.ctx, "tcp", "127.0.0.2")
suite.NoError(err) suite.NoError(err)
suite.Equal("10.0.0.10:80", conn.RemoteAddr().String()) suite.Equal("10.0.0.10:80", conn.RemoteAddr().String())
-6
View File
@@ -20,7 +20,6 @@ func (suite *DefaultDialerTestSuite) SetupSuite() {
suite.HTTPServerTestSuite.SetupSuite() suite.HTTPServerTestSuite.SetupSuite()
d, err := network.NewDefaultDialer(0, 0) d, err := network.NewDefaultDialer(0, 0)
suite.NoError(err) suite.NoError(err)
suite.d = d suite.d = d
@@ -28,13 +27,11 @@ func (suite *DefaultDialerTestSuite) SetupSuite() {
func (suite *DefaultDialerTestSuite) TestNegativeTimeout() { func (suite *DefaultDialerTestSuite) TestNegativeTimeout() {
_, err := network.NewDefaultDialer(-1, 0) _, err := network.NewDefaultDialer(-1, 0)
suite.Error(err) suite.Error(err)
} }
func (suite *DefaultDialerTestSuite) TestNegativeBufferSize() { func (suite *DefaultDialerTestSuite) TestNegativeBufferSize() {
_, err := network.NewDefaultDialer(0, -1) _, err := network.NewDefaultDialer(0, -1)
suite.Error(err) suite.Error(err)
} }
@@ -42,7 +39,6 @@ func (suite *DefaultDialerTestSuite) TestUnsupportedProtocol() {
_, err := suite.d.DialContext(context.Background(), _, err := suite.d.DialContext(context.Background(),
"udp", "udp",
suite.HTTPServerAddress()) suite.HTTPServerAddress())
suite.Error(err) suite.Error(err)
} }
@@ -50,7 +46,6 @@ func (suite *DefaultDialerTestSuite) TestCannotDial() {
_, err := suite.d.DialContext(context.Background(), _, err := suite.d.DialContext(context.Background(),
"tcp", "tcp",
suite.HTTPServerAddress()+suite.HTTPServerAddress()) suite.HTTPServerAddress()+suite.HTTPServerAddress())
suite.Error(err) suite.Error(err)
} }
@@ -58,7 +53,6 @@ func (suite *DefaultDialerTestSuite) TestConnectOk() {
conn, err := suite.d.DialContext(context.Background(), conn, err := suite.d.DialContext(context.Background(),
"tcp", "tcp",
suite.HTTPServerAddress()) suite.HTTPServerAddress())
suite.NoError(err) suite.NoError(err)
suite.NotNil(conn) suite.NotNil(conn)
@@ -28,12 +28,10 @@ func (suite *LoadBalancedSocks5TestSuite) SetupSuite() {
func (suite *LoadBalancedSocks5TestSuite) SetupTest() { func (suite *LoadBalancedSocks5TestSuite) SetupTest() {
baseDialer, _ := network.NewDefaultDialer(0, 0) baseDialer, _ := network.NewDefaultDialer(0, 0)
lbDialer, err := network.NewLoadBalancedSocks5Dialer(baseDialer, []*url.URL{ lbDialer, err := network.NewLoadBalancedSocks5Dialer(baseDialer, []*url.URL{
suite.MakeSocks5URL("user", "password"), suite.MakeSocks5URL("user", "password"),
suite.MakeSocks5URL("user2", "password"), suite.MakeSocks5URL("user2", "password"),
}) })
suite.NoError(err) suite.NoError(err)
suite.httpClient = suite.MakeHTTPClient(lbDialer) suite.httpClient = suite.MakeHTTPClient(lbDialer)
@@ -48,13 +46,11 @@ func (suite *LoadBalancedSocks5TestSuite) TestIncorrectURL() {
_, err := network.NewLoadBalancedSocks5Dialer(&DialerMock{}, []*url.URL{ _, err := network.NewLoadBalancedSocks5Dialer(&DialerMock{}, []*url.URL{
{Scheme: "http"}, {Scheme: "http"},
}) })
suite.Error(err) suite.Error(err)
} }
func (suite *LoadBalancedSocks5TestSuite) TestCannotDial() { func (suite *LoadBalancedSocks5TestSuite) TestCannotDial() {
baseDialer := &DialerMock{} baseDialer := &DialerMock{}
baseDialer.On("DialContext", mock.Anything, "tcp", "127.0.0.1:1080"). baseDialer.On("DialContext", mock.Anything, "tcp", "127.0.0.1:1080").
Times(network.ProxyDialerOpenThreshold). Times(network.ProxyDialerOpenThreshold).
Return(&net.TCPConn{}, io.EOF) Return(&net.TCPConn{}, io.EOF)
-1
View File
@@ -49,7 +49,6 @@ func (n *network) DialContext(ctx context.Context, protocol, address string) (ne
} }
var conn net.Conn var conn net.Conn
for _, v := range ips { for _, v := range ips {
conn, err = n.dialer.DialContext(ctx, protocol, net.JoinHostPort(v, port)) conn, err = n.dialer.DialContext(ctx, protocol, net.JoinHostPort(v, port))
+4 -10
View File
@@ -22,7 +22,6 @@ func (suite *ProxyDialerTestSuite) SetupSuite() {
func (suite *ProxyDialerTestSuite) TestSetupDefaults() { func (suite *ProxyDialerTestSuite) TestSetupDefaults() {
d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer) d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
suite.EqualValues(ProxyDialerOpenThreshold, d.openThreshold) suite.EqualValues(ProxyDialerOpenThreshold, d.openThreshold)
suite.EqualValues(ProxyDialerHalfOpenTimeout, d.halfOpenTimeout) suite.EqualValues(ProxyDialerHalfOpenTimeout, d.halfOpenTimeout)
suite.EqualValues(ProxyDialerResetFailuresTimeout, d.resetFailuresTimeout) suite.EqualValues(ProxyDialerResetFailuresTimeout, d.resetFailuresTimeout)
@@ -30,14 +29,12 @@ func (suite *ProxyDialerTestSuite) TestSetupDefaults() {
func (suite *ProxyDialerTestSuite) TestSetupValuesAllOk() { func (suite *ProxyDialerTestSuite) TestSetupValuesAllOk() {
query := url.Values{} query := url.Values{}
query.Set("open_threshold", "30") query.Set("open_threshold", "30")
query.Set("reset_failures_timeout", "1s") query.Set("reset_failures_timeout", "1s")
query.Set("half_open_timeout", "2s") query.Set("half_open_timeout", "2s")
suite.u.RawQuery = query.Encode() suite.u.RawQuery = query.Encode()
d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
suite.EqualValues(30, d.openThreshold) suite.EqualValues(30, d.openThreshold)
suite.EqualValues(2*time.Second, d.halfOpenTimeout) suite.EqualValues(2*time.Second, d.halfOpenTimeout)
suite.EqualValues(time.Second, d.resetFailuresTimeout) suite.EqualValues(time.Second, d.resetFailuresTimeout)
@@ -51,10 +48,9 @@ func (suite *ProxyDialerTestSuite) TestOpenThreshold() {
param := v param := v
suite.T().Run(v, func(t *testing.T) { suite.T().Run(v, func(t *testing.T) {
query.Set("open_threshold", param) query.Set("open_threshold", param)
suite.u.RawQuery = query.Encode() suite.u.RawQuery = query.Encode()
d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
assert.EqualValues(t, ProxyDialerOpenThreshold, d.openThreshold) assert.EqualValues(t, ProxyDialerOpenThreshold, d.openThreshold)
}) })
} }
@@ -68,10 +64,9 @@ func (suite *ProxyDialerTestSuite) TestHalfOpenTimeout() {
param := v param := v
suite.T().Run(v, func(t *testing.T) { suite.T().Run(v, func(t *testing.T) {
query.Set("half_open_timeout", param) query.Set("half_open_timeout", param)
suite.u.RawQuery = query.Encode() suite.u.RawQuery = query.Encode()
d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
assert.EqualValues(t, ProxyDialerHalfOpenTimeout, d.halfOpenTimeout) assert.EqualValues(t, ProxyDialerHalfOpenTimeout, d.halfOpenTimeout)
}) })
} }
@@ -85,10 +80,9 @@ func (suite *ProxyDialerTestSuite) TestResetFailuresTimeout() {
param := v param := v
suite.T().Run(v, func(t *testing.T) { suite.T().Run(v, func(t *testing.T) {
query.Set("reset_failures_timeout", param) query.Set("reset_failures_timeout", param)
suite.u.RawQuery = query.Encode() suite.u.RawQuery = query.Encode()
d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
d := newProxyDialer(&DialerMock{}, suite.u).(*circuitBreakerDialer)
assert.EqualValues(t, ProxyDialerHalfOpenTimeout, d.halfOpenTimeout) assert.EqualValues(t, ProxyDialerHalfOpenTimeout, d.halfOpenTimeout)
}) })
} }
-1
View File
@@ -31,7 +31,6 @@ func (s Secret) MarshalText() ([]byte, error) {
func (s *Secret) UnmarshalText(data []byte) error { func (s *Secret) UnmarshalText(data []byte) error {
text := string(data) text := string(data)
if text == "" { if text == "" {
return ErrSecretEmpty return ErrSecretEmpty
} }
-5
View File
@@ -32,13 +32,11 @@ func (suite *SecretTestSuite) TestParseSecret() {
suite.T().Run(name, func(t *testing.T) { suite.T().Run(name, func(t *testing.T) {
parsed, err := mtglib.ParseSecret(param) parsed, err := mtglib.ParseSecret(param)
assert.NoError(t, err) assert.NoError(t, err)
assert.Equal(t, s.Key, parsed.Key) assert.Equal(t, s.Key, parsed.Key)
assert.Equal(t, s.Host, parsed.Host) assert.Equal(t, s.Host, parsed.Host)
newSecret := mtglib.Secret{} newSecret := mtglib.Secret{}
assert.NoError(t, newSecret.UnmarshalText([]byte(param))) assert.NoError(t, newSecret.UnmarshalText([]byte(param)))
assert.Equal(t, s.Key, newSecret.Key) assert.Equal(t, s.Key, newSecret.Key)
assert.Equal(t, s.Host, newSecret.Host) assert.Equal(t, s.Host, newSecret.Host)
@@ -67,7 +65,6 @@ func (suite *SecretTestSuite) TestMarshalData() {
copy(s.Key[:], secretData) copy(s.Key[:], secretData)
data, err := json.Marshal(&s) data, err := json.Marshal(&s)
suite.NoError(err) suite.NoError(err)
suite.Equal(string(data), `"7tEcbLvZ7-f-1bwNsiCwlmVnb29nbGUuY29t"`) suite.Equal(string(data), `"7tEcbLvZ7-f-1bwNsiCwlmVnb29nbGUuY29t"`)
} }
@@ -87,7 +84,6 @@ func (suite *SecretTestSuite) TestIncorrectSecret() {
suite.T().Run(param, func(t *testing.T) { suite.T().Run(param, func(t *testing.T) {
_, err := mtglib.ParseSecret(param) _, err := mtglib.ParseSecret(param)
assert.Error(t, err) assert.Error(t, err)
}) })
} }
@@ -97,7 +93,6 @@ func (suite *SecretTestSuite) TestInvariant() {
generated := mtglib.GenerateSecret("google.com") generated := mtglib.GenerateSecret("google.com")
parsed, err := mtglib.ParseSecret(generated.Hex()) parsed, err := mtglib.ParseSecret(generated.Hex())
suite.NoError(err) suite.NoError(err)
suite.Equal(generated.Key, parsed.Key) suite.Equal(generated.Key, parsed.Key)
suite.Equal(generated.Host, parsed.Host) suite.Equal(generated.Host, parsed.Host)