Preparing report...

Report for github.com/pipeproxy/pipe

A    Great!    Found 167 issues across 193 files

Tweet

gofmt100%

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command

No problems detected. Good job!


go_vet100%

go vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.

No problems detected. Good job!


gocyclo98%

Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules: 1 is the base complexity of a function +1 for each 'if', 'for', 'case', '&&' or '||' Go Report Card warns on functions with cyclomatic complexity > 15.


golint14%

Golint is a linter for Go source code.

    • pipe/internal/round_tripper/lb.go
    • Line 1: warning: don't use an underscore in package name (golint)
    • Line 9: warning: exported type LB should have comment or be unexported (golint)
    • Line 14: warning: exported function NewLB should have comment or be unexported (golint)
    • Line 19: warning: exported method LB.RoundTrip should have comment or be unexported (golint)
    • pipe/components/service/multi/multi.go
    • Line 13: warning: exported var ErrNotServer should have comment or be unexported (golint)
    • Line 16: warning: exported type Multi should have comment or be unexported (golint)
    • Line 21: warning: exported function NewMulti should have comment or be unexported (golint)
    • Line 27: warning: exported method Multi.Run should have comment or be unexported (golint)
    • Line 46: warning: exported method Multi.Close should have comment or be unexported (golint)
    • pipe/internal/gcd/gcd.go
    • Line 3: warning: exported function Gcd should have comment or be unexported (golint)
    • Line 16: warning: exported function GcdSlice should have comment or be unexported (golint)
    • pipe/components/common/gen/net/packetconn/init.go
    • Line 1: warning: package comment should be of the form "Package packetconn ..." (golint)
    • Line 21: warning: exported type Config should have comment or be unexported (golint)
    • Line 26: warning: exported function NewPacketConnRefWithConfig should have comment or be unexported (golint)
    • Line 35: warning: exported function NewPacketConnDefWithConfig should have comment or be unexported (golint)
    • Line 39: warning: exported function PacketConnPut should have comment or be unexported (golint)
    • Line 53: warning: exported function PacketConnGet should have comment or be unexported (golint)
    • Line 72: warning: exported var PacketConnNone should have comment or be unexported (golint)
    • Line 134: warning: exported type PacketConn should have comment or be unexported (golint)
    • Line 140: warning: exported method PacketConn.Close should have comment or be unexported (golint)
    • Line 144: warning: exported method PacketConn.LocalAddr should have comment or be unexported (golint)
    • Line 148: warning: exported method PacketConn.ReadFrom should have comment or be unexported (golint)
    • Line 152: warning: exported method PacketConn.SetDeadline should have comment or be unexported (golint)
    • Line 156: warning: exported method PacketConn.SetReadDeadline should have comment or be unexported (golint)
    • Line 160: warning: exported method PacketConn.SetWriteDeadline should have comment or be unexported (golint)
    • Line 164: warning: exported method PacketConn.WriteTo should have comment or be unexported (golint)
    • pipe/components/protocol/http/mux/header/init.go
    • Line 20: warning: exported var ErrNotHandler should have comment or be unexported (golint)
    • Line 24: warning: exported type RouteMatch should have comment or be unexported (golint)
    • Line 34: warning: exported type Route should have comment or be unexported (golint)
    • Line 39: warning: exported type Config should have comment or be unexported (golint)
    • Line 44: warning: exported function NewHeaderWithConfig should have comment or be unexported (golint)
    • pipe/internal/refctx/refctx.go
    • Line 11: warning: exported var ErrNotDefine should have comment or be unexported (golint)
    • Line 22: warning: exported function With should have comment or be unexported (golint)
    • Line 27: warning: exported function Err should have comment or be unexported (golint)
    • Line 35: warning: exported function Get should have comment or be unexported (golint)
    • pipe/components/stream/listener/tls/tls.go
    • Line 11: warning: exported type Tls should have comment or be unexported (golint)
    • Line 16: warning: exported function NewTls should have comment or be unexported (golint)
    • Line 23: warning: exported method Tls.ListenStream should have comment or be unexported (golint)
    • Line 36: warning: exported method Tls.IsVirtual should have comment or be unexported (golint)
    • pipe/components/common/gen/github.com/pipeproxy/pipe/components/protocol/handler/init.go
    • Line 1: warning: package comment should be of the form "Package handler ..." (golint)
    • Line 19: warning: exported type Config should have comment or be unexported (golint)
    • Line 24: warning: exported function NewHandlerRefWithConfig should have comment or be unexported (golint)
    • Line 33: warning: exported function NewHandlerDefWithConfig should have comment or be unexported (golint)
    • Line 37: warning: exported function HandlerPut should have comment or be unexported (golint)
    • Line 51: warning: exported function HandlerGet should have comment or be unexported (golint)
    • Line 70: warning: exported var HandlerNone should have comment or be unexported (golint)
    • Line 84: warning: exported type Handler should have comment or be unexported (golint)
    • Line 90: warning: exported method Handler.ServeProtocol should have comment or be unexported (golint)
    • pipe/components/common/gen/net/http/handler/init.go
    • Line 1: warning: package comment should be of the form "Package handler ..." (golint)
    • Line 19: warning: exported type Config should have comment or be unexported (golint)
    • Line 24: warning: exported function NewHandlerRefWithConfig should have comment or be unexported (golint)
    • Line 33: warning: exported function NewHandlerDefWithConfig should have comment or be unexported (golint)
    • Line 37: warning: exported function HandlerPut should have comment or be unexported (golint)
    • Line 51: warning: exported function HandlerGet should have comment or be unexported (golint)
    • Line 70: warning: exported var HandlerNone should have comment or be unexported (golint)
    • Line 84: warning: exported type Handler should have comment or be unexported (golint)
    • pipe/internal/http/template/text.go
    • Line 8: warning: exported type Text should have comment or be unexported (golint)
    • Line 10: warning: exported method Text.Format should have comment or be unexported (golint)
    • Line 15: warning: exported method Text.FormatString should have comment or be unexported (golint)
    • pipe/internal/listener/utils.go
    • Line 13: warning: exported var ErrServerClosed should have comment or be unexported (golint)
    • Line 28: warning: exported var ErrNetClosing should have comment or be unexported (golint)
    • Line 61: warning: exported var ErrAcceptTimeout should have comment or be unexported (golint)
    • pipe/components/balance/round_robin/round_robin.go
    • Line 1: warning: don't use an underscore in package name (golint)
    • Line 10: warning: exported type RoundRobin should have comment or be unexported (golint)
    • Line 15: warning: exported function NewRoundRobin should have comment or be unexported (golint)
    • Line 19: warning: exported method RoundRobin.Init should have comment or be unexported (golint)
    • Line 24: warning: exported method RoundRobin.InUse should have comment or be unexported (golint)
    • Line 29: warning: exported method RoundRobin.Clone should have comment or be unexported (golint)
    • pipe/internal/log/log.go
    • Line 19: warning: exported function NewLogFromFile should have comment or be unexported (golint)
    • Line 35: warning: exported function NewLog should have comment or be unexported (golint)
    • Line 39: warning: exported function WithOut should have comment or be unexported (golint)
    • pipe/components/service/packet/server.go
    • Line 12: warning: exported type Server should have comment or be unexported (golint)
    • Line 19: warning: exported function NewServer should have comment or be unexported (golint)
    • Line 28: warning: exported method Server.Run should have comment or be unexported (golint)
    • Line 43: warning: exported method Server.Close should have comment or be unexported (golint)
    • Line 54: warning: exported method Server.ServePacket should have comment or be unexported (golint)
    • pipe/components/stream/handler/tls/tls.go
    • Line 11: warning: exported type TlsUp should have comment or be unexported (golint)
    • Line 16: warning: exported function NewTlsUp should have comment or be unexported (golint)
    • Line 23: warning: exported method TlsUp.ServeStream should have comment or be unexported (golint)
    • Line 33: warning: exported type TlsDown should have comment or be unexported (golint)
    • Line 38: warning: exported function NewTlsDown should have comment or be unexported (golint)
    • Line 45: warning: exported method TlsDown.ServeStream should have comment or be unexported (golint)
    • pipe/components/common/gen/github.com/pipeproxy/pipe/components/stream/dialer/init.go
    • Line 1: warning: package comment should be of the form "Package dialer ..." (golint)
    • Line 22: warning: exported type Config should have comment or be unexported (golint)
    • Line 27: warning: exported function NewDialerRefWithConfig should have comment or be unexported (golint)
    • Line 36: warning: exported function NewDialerDefWithConfig should have comment or be unexported (golint)
    • Line 40: warning: exported function DialerPut should have comment or be unexported (golint)
    • Line 54: warning: exported function DialerGet should have comment or be unexported (golint)
    • Line 73: warning: exported var DialerNone should have comment or be unexported (golint)
    • Line 113: warning: exported type Dialer should have comment or be unexported (golint)
    • Line 119: warning: exported method Dialer.DialStream should have comment or be unexported (golint)
    • Line 123: warning: exported method Dialer.IsVirtual should have comment or be unexported (golint)
    • Line 127: warning: exported method Dialer.Policy should have comment or be unexported (golint)
    • Line 135: warning: exported method Dialer.Targets should have comment or be unexported (golint)
    • pipe/components/common/gen/net/conn/init.go
    • Line 1: warning: package comment should be of the form "Package conn ..." (golint)
    • Line 21: warning: exported type Config should have comment or be unexported (golint)
    • Line 26: warning: exported function NewConnRefWithConfig should have comment or be unexported (golint)
    • Line 35: warning: exported function NewConnDefWithConfig should have comment or be unexported (golint)
    • Line 39: warning: exported function ConnPut should have comment or be unexported (golint)
    • Line 53: warning: exported function ConnGet should have comment or be unexported (golint)
    • Line 72: warning: exported var ConnNone should have comment or be unexported (golint)
    • Line 140: warning: exported type Conn should have comment or be unexported (golint)
    • Line 146: warning: exported method Conn.Close should have comment or be unexported (golint)
    • Line 150: warning: exported method Conn.LocalAddr should have comment or be unexported (golint)
    • Line 158: warning: exported method Conn.RemoteAddr should have comment or be unexported (golint)
    • Line 162: warning: exported method Conn.SetDeadline should have comment or be unexported (golint)
    • Line 166: warning: exported method Conn.SetReadDeadline should have comment or be unexported (golint)
    • Line 170: warning: exported method Conn.SetWriteDeadline should have comment or be unexported (golint)
    • pipe/components/stdio/input/init.go
    • Line 14: warning: exported type Input should have comment or be unexported (golint)
    • Line 22: warning: exported function NewLazyReader should have comment or be unexported (golint)
    • Line 46: warning: exported function NewReaderWithAutoClose should have comment or be unexported (golint)
    • pipe/components/protocol/http/mux/query/init.go
    • Line 20: warning: exported var ErrNotHandler should have comment or be unexported (golint)
    • Line 24: warning: exported type RouteMatch should have comment or be unexported (golint)
    • Line 34: warning: exported type Route should have comment or be unexported (golint)
    • Line 39: warning: exported type Config should have comment or be unexported (golint)
    • Line 44: warning: exported function NewQueryWithConfig should have comment or be unexported (golint)
    • pipe/components/protocol/http/mux/path/path.go
    • Line 16: warning: exported var ErrRouteAlreadyExists should have comment or be unexported (golint)
    • Line 56: warning: exported method Path.HandlePrefix should have comment or be unexported (golint)
    • Line 65: warning: exported method Path.HandlePrefixAndRegexp should have comment or be unexported (golint)
    • Line 78: warning: exported method Path.HandlePath should have comment or be unexported (golint)
    • pipe/internal/http/template/request_val.go
    • Line 7: warning: exported type RequestVal should have comment or be unexported (golint)
    • Line 11: warning: exported method RequestVal.Host should have comment or be unexported (golint)
    • Line 15: warning: exported method RequestVal.Proto should have comment or be unexported (golint)
    • Line 19: warning: exported method RequestVal.ProtoMajor should have comment or be unexported (golint)
    • Line 23: warning: exported method RequestVal.ProtoMinor should have comment or be unexported (golint)
    • Line 27: warning: exported method RequestVal.Scheme should have comment or be unexported (golint)
    • Line 34: warning: exported method RequestVal.Path should have comment or be unexported (golint)
    • Line 38: warning: exported method RequestVal.RawPath should have comment or be unexported (golint)
    • Line 42: warning: exported method RequestVal.Hostname should have comment or be unexported (golint)
    • Line 47: warning: exported method RequestVal.Port should have comment or be unexported (golint)
    • Line 52: warning: exported method RequestVal.RequestURI should have comment or be unexported (golint)
    • Line 56: warning: exported method RequestVal.RawQuery should have comment or be unexported (golint)
    • Line 60: warning: exported method RequestVal.IsQuery should have comment or be unexported (golint)
    • Line 67: warning: exported method RequestVal.Query should have comment or be unexported (golint)
    • Line 71: warning: exported method RequestVal.Header should have comment or be unexported (golint)
    • Line 75: warning: exported method RequestVal.Method should have comment or be unexported (golint)
    • Line 79: warning: exported method RequestVal.ContentLength should have comment or be unexported (golint)
    • Line 83: warning: exported method RequestVal.RemoteAddr should have comment or be unexported (golint)
    • Line 87: warning: exported method RequestVal.Form should have comment or be unexported (golint)
    • Line 97: warning: exported method RequestVal.PostForm should have comment or be unexported (golint)
    • Line 107: warning: exported method RequestVal.Cookie should have comment or be unexported (golint)
    • Line 115: warning: exported method RequestVal.Username should have comment or be unexported (golint)
    • Line 120: warning: exported method RequestVal.Password should have comment or be unexported (golint)
    • Line 125: warning: exported method RequestVal.UserAgent should have comment or be unexported (golint)
    • pipe/components/protocol/http/mux/host/init.go
    • Line 19: warning: exported var ErrNotHandler should have comment or be unexported (golint)
    • Line 23: warning: exported type Route should have comment or be unexported (golint)
    • Line 28: warning: exported type Config should have comment or be unexported (golint)
    • Line 33: warning: exported function NewHostWithConfig should have comment or be unexported (golint)
    • pipe/internal/notify/notify.go
    • Line 10: warning: exported type Signal should have comment or be unexported (golint)
    • Line 14: warning: exported const Reload should have comment (or a comment on this block) or be unexported (golint)
    • pipe/components/balance/least/least.go
    • Line 16: warning: exported type Least should have comment or be unexported (golint)
    • Line 21: warning: exported function NewLeast should have comment or be unexported (golint)
    • Line 27: warning: exported method Least.Init should have comment or be unexported (golint)
    • Line 40: warning: exported method Least.InUse should have comment or be unexported (golint)
    • Line 82: warning: exported method Least.Clone should have comment or be unexported (golint)
    • pipe/components/common/gen/io/reader/init.go
    • Line 1: warning: package comment should be of the form "Package reader ..." (golint)
    • Line 20: warning: exported type Config should have comment or be unexported (golint)
    • Line 25: warning: exported function NewReaderRefWithConfig should have comment or be unexported (golint)
    • Line 34: warning: exported function NewReaderDefWithConfig should have comment or be unexported (golint)
    • Line 38: warning: exported function ReaderPut should have comment or be unexported (golint)
    • Line 52: warning: exported function ReaderGet should have comment or be unexported (golint)
    • Line 71: warning: exported var ReaderNone should have comment or be unexported (golint)
    • Line 87: warning: exported type Reader should have comment or be unexported (golint)
    • pipe/components/protocol/http/mux/header/header.go
    • Line 22: warning: exported type Matcher should have comment or be unexported (golint)
    • Line 37: warning: exported method Header.Handle should have comment or be unexported (golint)
    • Line 44: warning: exported method Header.Handler should have comment or be unexported (golint)
    • Line 67: warning: exported type Exact should have comment or be unexported (golint)
    • Line 72: warning: exported method Exact.Match should have comment or be unexported (golint)
    • Line 76: warning: exported type Present should have comment or be unexported (golint)
    • Line 80: warning: exported method Present.Match should have comment or be unexported (golint)
    • Line 85: warning: exported type Regexp should have comment or be unexported (golint)
    • Line 90: warning: exported method Regexp.Match should have comment or be unexported (golint)
    • Line 94: warning: exported type Prefix should have comment or be unexported (golint)
    • Line 99: warning: exported method Prefix.Match should have comment or be unexported (golint)
    • Line 103: warning: exported type Suffix should have comment or be unexported (golint)
    • Line 108: warning: exported method Suffix.Match should have comment or be unexported (golint)
    • Line 112: warning: exported type Contains should have comment or be unexported (golint)
    • Line 117: warning: exported method Contains.Match should have comment or be unexported (golint)
    • pipe/components/protocol/http/mux/query/query.go
    • Line 23: warning: exported type Matcher should have comment or be unexported (golint)
    • Line 38: warning: exported method Query.Handle should have comment or be unexported (golint)
    • Line 45: warning: exported method Query.Handler should have comment or be unexported (golint)
    • Line 68: warning: exported type Exact should have comment or be unexported (golint)
    • Line 73: warning: exported method Exact.Match should have comment or be unexported (golint)
    • Line 77: warning: exported type Present should have comment or be unexported (golint)
    • Line 81: warning: exported method Present.Match should have comment or be unexported (golint)
    • Line 86: warning: exported type Regexp should have comment or be unexported (golint)
    • Line 91: warning: exported method Regexp.Match should have comment or be unexported (golint)
    • Line 95: warning: exported type Prefix should have comment or be unexported (golint)
    • Line 100: warning: exported method Prefix.Match should have comment or be unexported (golint)
    • Line 104: warning: exported type Suffix should have comment or be unexported (golint)
    • Line 109: warning: exported method Suffix.Match should have comment or be unexported (golint)
    • Line 113: warning: exported type Contains should have comment or be unexported (golint)
    • Line 118: warning: exported method Contains.Match should have comment or be unexported (golint)
    • pipe/components/stream/handler/mux/prefix/unread.go
    • Line 9: warning: exported function UnwrapUnreadStream should have comment or be unexported (golint)
    • Line 17: warning: exported function UnreadStream should have comment or be unexported (golint)
    • Line 40: warning: exported function UnwrapUnread should have comment or be unexported (golint)
    • Line 47: warning: exported function Unread should have comment or be unexported (golint)
    • pipe/components/common/gen/github.com/pipeproxy/pipe/components/stream/handler/init.go
    • Line 1: warning: package comment should be of the form "Package handler ..." (golint)
    • Line 20: warning: exported type Config should have comment or be unexported (golint)
    • Line 25: warning: exported function NewHandlerRefWithConfig should have comment or be unexported (golint)
    • Line 34: warning: exported function NewHandlerDefWithConfig should have comment or be unexported (golint)
    • Line 38: warning: exported function HandlerPut should have comment or be unexported (golint)
    • Line 52: warning: exported function HandlerGet should have comment or be unexported (golint)
    • Line 71: warning: exported var HandlerNone should have comment or be unexported (golint)
    • Line 85: warning: exported type Handler should have comment or be unexported (golint)
    • Line 91: warning: exported method Handler.ServeStream should have comment or be unexported (golint)
    • pipe/internal/http/template/template.go
    • Line 12: warning: exported type Template should have comment or be unexported (golint)
    • Line 26: warning: exported method Template.Format should have comment or be unexported (golint)
    • Line 34: warning: exported method Template.FormatString should have comment or be unexported (golint)
    • pipe/components/stream/handler/lb/lb.go
    • Line 10: warning: exported type LB should have comment or be unexported (golint)
    • Line 15: warning: exported function NewLB should have comment or be unexported (golint)
    • Line 20: warning: exported method LB.ServeStream should have comment or be unexported (golint)
    • pipe/components/stream/handler/mux/source/source.go
    • Line 23: warning: exported function NewSource should have comment or be unexported (golint)
    • Line 28: warning: exported method Source.NotFound should have comment or be unexported (golint)
    • Line 32: warning: exported method Source.Handle should have comment or be unexported (golint)
    • Line 60: warning: exported method Source.ServeStream should have comment or be unexported (golint)
    • pipe/version.go
    • Line 4: warning: exported const Name should have comment (or a comment on this block) or be unexported (golint)
    • pipe/components/common/gen/github.com/pipeproxy/pipe/components/stream/listenconfig/init.go
    • Line 1: warning: package comment should be of the form "Package listenconfig ..." (golint)
    • Line 21: warning: exported type Config should have comment or be unexported (golint)
    • Line 26: warning: exported function NewListenConfigRefWithConfig should have comment or be unexported (golint)
    • Line 35: warning: exported function NewListenConfigDefWithConfig should have comment or be unexported (golint)
    • Line 39: warning: exported function ListenConfigPut should have comment or be unexported (golint)
    • Line 53: warning: exported function ListenConfigGet should have comment or be unexported (golint)
    • Line 72: warning: exported var ListenConfigNone should have comment or be unexported (golint)
    • Line 94: warning: exported type ListenConfig should have comment or be unexported (golint)
    • Line 100: warning: exported method ListenConfig.IsVirtual should have comment or be unexported (golint)
    • Line 104: warning: exported method ListenConfig.ListenStream should have comment or be unexported (golint)
    • pipe/components/balance/none/none.go
    • Line 7: warning: exported type None should have comment or be unexported (golint)
    • Line 9: warning: exported function NewNone should have comment or be unexported (golint)
    • Line 13: warning: exported method None.Init should have comment or be unexported (golint)
    • Line 17: warning: exported method None.InUse should have comment or be unexported (golint)
    • Line 21: warning: exported method None.Clone should have comment or be unexported (golint)
    • pipe/components/common/gen/github.com/pipeproxy/pipe/components/tls/tls/init.go
    • Line 1: warning: package comment should be of the form "Package tls ..." (golint)
    • Line 19: warning: exported type Config should have comment or be unexported (golint)
    • Line 24: warning: exported function NewTLSRefWithConfig should have comment or be unexported (golint)
    • Line 33: warning: exported function NewTLSDefWithConfig should have comment or be unexported (golint)
    • Line 37: warning: exported function TLSPut should have comment or be unexported (golint)
    • Line 51: warning: exported function TLSGet should have comment or be unexported (golint)
    • Line 70: warning: exported var TLSNone should have comment or be unexported (golint)
    • Line 84: warning: exported type TLS should have comment or be unexported (golint)
    • Line 90: warning: exported method TLS.TLS should have comment or be unexported (golint)
    • pipe/components/common/gen/github.com/pipeproxy/pipe/components/packet/handler/init.go
    • Line 1: warning: package comment should be of the form "Package handler ..." (golint)
    • Line 20: warning: exported type Config should have comment or be unexported (golint)
    • Line 25: warning: exported function NewHandlerRefWithConfig should have comment or be unexported (golint)
    • Line 34: warning: exported function NewHandlerDefWithConfig should have comment or be unexported (golint)
    • Line 38: warning: exported function HandlerPut should have comment or be unexported (golint)
    • Line 52: warning: exported function HandlerGet should have comment or be unexported (golint)
    • Line 71: warning: exported var HandlerNone should have comment or be unexported (golint)
    • Line 85: warning: exported type Handler should have comment or be unexported (golint)
    • Line 91: warning: exported method Handler.ServePacket should have comment or be unexported (golint)
    • pipe/components/stream/dialer/lb/lb.go
    • Line 11: warning: exported type LB should have comment or be unexported (golint)
    • Line 17: warning: exported function NewLB should have comment or be unexported (golint)
    • Line 24: warning: exported method LB.DialStream should have comment or be unexported (golint)
    • Line 31: warning: exported method LB.IsVirtual should have comment or be unexported (golint)
    • Line 42: warning: exported method LB.Targets should have comment or be unexported (golint)
    • Line 46: warning: exported method LB.Policy should have comment or be unexported (golint)
    • pipe/components/protocol/http/mux/path/init.go
    • Line 19: warning: exported var ErrNotHandler should have comment or be unexported (golint)
    • Line 23: warning: exported type Route should have comment or be unexported (golint)
    • Line 30: warning: exported type Config should have comment or be unexported (golint)
    • Line 35: warning: exported function NewPathWithConfig should have comment or be unexported (golint)
    • pipe/components/common/gen/github.com/pipeproxy/pipe/components/once/once/init.go
    • Line 1: warning: package comment should be of the form "Package once ..." (golint)
    • Line 20: warning: exported type Config should have comment or be unexported (golint)
    • Line 25: warning: exported function NewOnceRefWithConfig should have comment or be unexported (golint)
    • Line 34: warning: exported function NewOnceDefWithConfig should have comment or be unexported (golint)
    • Line 38: warning: exported function OncePut should have comment or be unexported (golint)
    • Line 52: warning: exported function OnceGet should have comment or be unexported (golint)
    • Line 71: warning: exported var OnceNone should have comment or be unexported (golint)
    • Line 87: warning: exported type Once should have comment or be unexported (golint)
    • Line 93: warning: exported method Once.Do should have comment or be unexported (golint)
    • pipe/components/packet/init.go
    • Line 19: warning: exported type Packet should have comment or be unexported (golint)
    • Line 21: warning: exported type Handler should have comment or be unexported (golint)
    • Line 25: warning: exported type ListenConfig should have comment or be unexported (golint)
    • Line 29: warning: exported type NetworkEnum should have comment or be unexported (golint)
    • Line 32: warning: exported const EnumNetworkUDP should have comment (or a comment on this block) or be unexported (golint)
    • pipe/config/http.go
    • Line 11: warning: exported function BuildContentTypeHTMLWithHTTPHandler should have comment or be unexported (golint)
    • Line 22: warning: exported function BuildHTTPRedirectWithStreamHandler should have comment or be unexported (golint)
    • Line 49: warning: exported function BuildHTTP443ToHTTPSWithStreamHandler should have comment or be unexported (golint)
    • Line 74: warning: exported function BuildH3WithService should have comment or be unexported (golint)
    • Line 88: warning: exported function BuildH2WithService should have comment or be unexported (golint)
    • Line 112: warning: exported function BuildH2SupportH3WithService should have comment or be unexported (golint)
    • Line 128: warning: exported function BuildHTTPRedirectToHTTPSWithService should have comment or be unexported (golint)
    • Line 140: warning: exported function BuildH1WithService should have comment or be unexported (golint)
    • Line 155: warning: exported function BuildHTTPLog should have comment or be unexported (golint)
    • Line 164: warning: exported function BuildHTTPLogStderr should have comment or be unexported (golint)
    • Line 168: warning: exported function BuildStreamLog should have comment or be unexported (golint)
    • Line 177: warning: exported function BuildStreamLogStderr should have comment or be unexported (golint)
    • pipe/components/stream/handler/mux/destination/destination.go
    • Line 24: warning: exported function NewDestination should have comment or be unexported (golint)
    • Line 29: warning: exported method Destination.NotFound should have comment or be unexported (golint)
    • Line 33: warning: exported method Destination.Handle should have comment or be unexported (golint)
    • Line 61: warning: exported method Destination.ServeStream should have comment or be unexported (golint)
    • pipe/components/stream/dialer/lb/init.go
    • Line 13: warning: exported var ErrNotDialer should have comment or be unexported (golint)
    • Line 24: warning: exported type Weight should have comment or be unexported (golint)
    • Line 29: warning: exported type Config should have comment or be unexported (golint)
    • Line 34: warning: exported function NewLBWithConfig should have comment or be unexported (golint)
    • pipe/components/protocol/http/mux/method/init.go
    • Line 17: warning: exported type MethodEnum should have comment or be unexported (golint)
    • Line 20: warning: exported const MethodGet should have comment (or a comment on this block) or be unexported (golint)
    • Line 31: warning: exported type Route should have comment or be unexported (golint)
    • Line 36: warning: exported type Config should have comment or be unexported (golint)
    • Line 41: warning: exported function NewMethodWithConfig should have comment or be unexported (golint)
    • pipe/components/common/gen/github.com/pipeproxy/pipe/components/balance/policy/init.go
    • Line 1: warning: package comment should be of the form "Package policy ..." (golint)
    • Line 19: warning: exported type Config should have comment or be unexported (golint)
    • Line 24: warning: exported function NewPolicyRefWithConfig should have comment or be unexported (golint)
    • Line 33: warning: exported function NewPolicyDefWithConfig should have comment or be unexported (golint)
    • Line 37: warning: exported function PolicyPut should have comment or be unexported (golint)
    • Line 51: warning: exported function PolicyGet should have comment or be unexported (golint)
    • Line 70: warning: exported var PolicyNone should have comment or be unexported (golint)
    • Line 96: warning: exported type Policy should have comment or be unexported (golint)
    • Line 102: warning: exported method Policy.Clone should have comment or be unexported (golint)
    • Line 106: warning: exported method Policy.InUse should have comment or be unexported (golint)
    • Line 110: warning: exported method Policy.Init should have comment or be unexported (golint)
    • pipe/components/balance/random/random.go
    • Line 8: warning: exported type Random should have comment or be unexported (golint)
    • Line 12: warning: exported function NewRandom should have comment or be unexported (golint)
    • Line 16: warning: exported method Random.Init should have comment or be unexported (golint)
    • Line 20: warning: exported method Random.InUse should have comment or be unexported (golint)
    • Line 25: warning: exported method Random.Clone should have comment or be unexported (golint)
    • pipe/components/common/gen/io/writer/init.go
    • Line 1: warning: package comment should be of the form "Package writer ..." (golint)
    • Line 20: warning: exported type Config should have comment or be unexported (golint)
    • Line 25: warning: exported function NewWriterRefWithConfig should have comment or be unexported (golint)
    • Line 34: warning: exported function NewWriterDefWithConfig should have comment or be unexported (golint)
    • Line 38: warning: exported function WriterPut should have comment or be unexported (golint)
    • Line 52: warning: exported function WriterGet should have comment or be unexported (golint)
    • Line 71: warning: exported var WriterNone should have comment or be unexported (golint)
    • Line 87: warning: exported type Writer should have comment or be unexported (golint)
    • pipe/components/tls/tls.go
    • Line 11: warning: exported function WrapTLS should have comment or be unexported (golint)
    • Line 20: warning: exported var Client should have comment or be unexported (golint)
    • pipe/components/stream/dialer/dialer/dialer.go
    • Line 15: warning: exported type Dialer should have comment or be unexported (golint)
    • Line 23: warning: exported function NewDialer should have comment or be unexported (golint)
    • Line 34: warning: exported method Dialer.DialStream should have comment or be unexported (golint)
    • Line 81: warning: exported method Dialer.IsVirtual should have comment or be unexported (golint)
    • Line 85: warning: exported method Dialer.Targets should have comment or be unexported (golint)
    • Line 89: warning: exported method Dialer.Policy should have comment or be unexported (golint)
    • pipe/pipe.go
    • Line 19: warning: exported type Pipe should have comment or be unexported (golint)
    • Line 32: warning: exported function GetPipeWithContext should have comment or be unexported (golint)
    • Line 41: warning: exported function NewPipeWithConfig should have comment or be unexported (golint)
    • Line 51: warning: exported method Pipe.Start should have comment or be unexported (golint)
    • Line 61: warning: exported method Pipe.Run should have comment or be unexported (golint)
    • Line 69: warning: exported method Pipe.Wait should have comment or be unexported (golint)
    • Line 97: warning: exported method Pipe.Reload should have comment or be unexported (golint)
    • Line 139: warning: exported method Pipe.Close should have comment or be unexported (golint)
    • Line 155: warning: exported method Pipe.Config should have comment or be unexported (golint)
    • pipe/components/stream/dialer/tls/tls.go
    • Line 13: warning: exported type Tls should have comment or be unexported (golint)
    • Line 19: warning: exported function NewTls should have comment or be unexported (golint)
    • Line 28: warning: exported method Tls.DialStream should have comment or be unexported (golint)
    • Line 41: warning: exported method Tls.IsVirtual should have comment or be unexported (golint)
    • Line 45: warning: exported method Tls.Targets should have comment or be unexported (golint)
    • Line 54: warning: exported method Tls.Policy should have comment or be unexported (golint)
    • pipe/components/stream/handler/log/log.go
    • Line 15: warning: exported type Log should have comment or be unexported (golint)
    • Line 22: warning: exported function NewLog should have comment or be unexported (golint)
    • Line 26: warning: exported method Log.ServeStream should have comment or be unexported (golint)
    • pipe/components/protocol/http/mux/host/host.go
    • Line 12: warning: exported var ErrFormat should have comment or be unexported (golint)
    • Line 28: warning: exported function NewHost should have comment or be unexported (golint)
    • Line 35: warning: exported method Host.NotFound should have comment or be unexported (golint)
    • Line 39: warning: exported method Host.Handle should have comment or be unexported (golint)
    • Line 60: warning: comment on exported method Host.Handler should be of the form "Handler ..." (golint)
    • pipe/components/stream/handler/lb/init.go
    • Line 13: warning: exported var ErrNotHandler should have comment or be unexported (golint)
    • Line 24: warning: exported type Weight should have comment or be unexported (golint)
    • Line 29: warning: exported type Config should have comment or be unexported (golint)
    • Line 34: warning: exported function NewLBWithConfig should have comment or be unexported (golint)
    • pipe/components/stream/handler/mux/prefix/init.go
    • Line 19: warning: exported type ProtocolEnum should have comment or be unexported (golint)
    • Line 22: warning: exported const ProtocolTLS should have comment (or a comment on this block) or be unexported (golint)
    • Line 30: warning: exported type Route should have comment or be unexported (golint)
    • Line 37: warning: exported type Config should have comment or be unexported (golint)
    • pipe/internal/pool/pool.go
    • Line 8: warning: exported const DefaultSize should have comment or be unexported (golint)
    • Line 10: warning: exported type BytesPool should have comment or be unexported (golint)
    • Line 15: warning: exported type BufferPool should have comment or be unexported (golint)
    • Line 20: warning: exported function GetBytes should have comment or be unexported (golint)
    • Line 24: warning: exported function PutBytes should have comment or be unexported (golint)
    • Line 28: warning: exported function GetBuffer should have comment or be unexported (golint)
    • Line 32: warning: exported function PutBuffer should have comment or be unexported (golint)
    • Line 71: warning: exported var Bytes should have comment or be unexported (golint)
    • pipe/components/protocol/init.go
    • Line 14: warning: exported type Protocol should have comment or be unexported (golint)
    • Line 22: warning: exported type Map should have comment or be unexported (golint)
    • Line 31: warning: exported type Handler should have comment or be unexported (golint)
    • pipe/components/packet/handler/quic/init.go
    • Line 13: warning: exported var ErrNotPacket should have comment or be unexported (golint)
    • Line 21: warning: exported type Config should have comment or be unexported (golint)
    • Line 26: warning: exported function NewServerWithConfig should have comment or be unexported (golint)
    • pipe/components/service/stream/server.go
    • Line 14: warning: exported type Server should have comment or be unexported (golint)
    • Line 22: warning: exported function NewServer should have comment or be unexported (golint)
    • Line 32: warning: exported method Server.Run should have comment or be unexported (golint)
    • Line 56: warning: exported method Server.Close should have comment or be unexported (golint)
    • Line 81: warning: exported method Server.ServeStream should have comment or be unexported (golint)
    • Line 111: warning: exported function GetRawStreamWithContext should have comment or be unexported (golint)
    • Line 123: warning: exported function GetRawStreamAndOriginalDestinationAddrWithContext should have comment or be unexported (golint)
    • pipe/components/stream/listener/listener/listener.go
    • Line 11: warning: exported type Listener should have comment or be unexported (golint)
    • Line 17: warning: exported function NewListener should have comment or be unexported (golint)
    • Line 25: warning: exported method Listener.ListenStream should have comment or be unexported (golint)
    • Line 45: warning: exported method Listener.IsVirtual should have comment or be unexported (golint)
    • pipe/components/tls/merge/merge.go
    • Line 10: warning: exported var ErrNotTls should have comment or be unexported (golint)
    • Line 13: warning: exported type Merge should have comment or be unexported (golint)
    • Line 18: warning: exported function NewMerge should have comment or be unexported (golint)
    • Line 24: warning: exported method Merge.TLS should have comment or be unexported (golint)
    • pipe/bind/bind.go
    • Line 751: warning: exported type DestinationStreamHandlerRoute should have comment or be unexported (golint)
    • Line 794: warning: exported type DialerStreamDialerNetworkEnum should have comment or be unexported (golint)
    • Line 797: warning: exported const DialerStreamDialerNetworkEnumEnumNetworkUnix should have comment (or a comment on this block) or be unexported (golint)
    • Line 874: warning: exported type EditRequestHeaderNetHTTPHandlerPair should have comment or be unexported (golint)
    • Line 915: warning: exported type EditResponseHeaderNetHTTPHandlerPair should have comment or be unexported (golint)
    • Line 1232: warning: exported type HeaderNetHTTPHandlerRoute should have comment or be unexported (golint)
    • Line 1237: warning: exported type HeaderNetHTTPHandlerRouteMatch should have comment or be unexported (golint)
    • Line 1282: warning: exported type HostNetHTTPHandlerRoute should have comment or be unexported (golint)
    • Line 1495: warning: exported type LbNetHTTPHandlerWeight should have comment or be unexported (golint)
    • Line 1535: warning: exported type LbStreamDialerWeight should have comment or be unexported (golint)
    • Line 1575: warning: exported type LbStreamHandlerWeight should have comment or be unexported (golint)
    • Line 1648: warning: exported type ListenerPacketListenConfigNetworkEnum should have comment or be unexported (golint)
    • Line 1651: warning: exported const ListenerPacketListenConfigNetworkEnumEnumNetworkUnixPacket should have comment (or a comment on this block) or be unexported (golint)
    • Line 1693: warning: exported type ListenerStreamListenConfigNetworkEnum should have comment or be unexported (golint)
    • Line 1696: warning: exported const ListenerStreamListenConfigNetworkEnumEnumNetworkUnix should have comment (or a comment on this block) or be unexported (golint)
    • Line 2386: warning: exported type MethodNetHTTPHandlerRoute should have comment or be unexported (golint)
    • Line 2391: warning: exported type MethodNetHTTPHandlerMethodEnum should have comment or be unexported (golint)
    • Line 2394: warning: exported const MethodNetHTTPHandlerMethodEnumMethodTrace should have comment (or a comment on this block) or be unexported (golint)
    • Line 3139: warning: exported type PathNetHTTPHandlerRoute should have comment or be unexported (golint)
    • Line 3214: warning: exported type PrefixStreamHandlerRoute should have comment or be unexported (golint)
    • Line 3221: warning: exported type PrefixStreamHandlerProtocolEnum should have comment or be unexported (golint)
    • Line 3224: warning: exported const PrefixStreamHandlerProtocolEnumProtocolTLS should have comment (or a comment on this block) or be unexported (golint)
    • Line 3267: warning: exported type QueryNetHTTPHandlerRoute should have comment or be unexported (golint)
    • Line 3272: warning: exported type QueryNetHTTPHandlerRouteMatch should have comment or be unexported (golint)
    • Line 4078: warning: exported type SourceStreamHandlerRoute should have comment or be unexported (golint)
    • pipe/config/home.go
    • Line 9: warning: exported function BuildHomeWithHTTPHandler should have comment or be unexported (golint)
    • pipe/components/common/gen/github.com/pipeproxy/pipe/components/packet/listenconfig/init.go
    • Line 1: warning: package comment should be of the form "Package listenconfig ..." (golint)
    • Line 21: warning: exported type Config should have comment or be unexported (golint)
    • Line 26: warning: exported function NewListenConfigRefWithConfig should have comment or be unexported (golint)
    • Line 35: warning: exported function NewListenConfigDefWithConfig should have comment or be unexported (golint)
    • Line 39: warning: exported function ListenConfigPut should have comment or be unexported (golint)
    • Line 53: warning: exported function ListenConfigGet should have comment or be unexported (golint)
    • Line 72: warning: exported var ListenConfigNone should have comment or be unexported (golint)
    • Line 88: warning: exported type ListenConfig should have comment or be unexported (golint)
    • Line 94: warning: exported method ListenConfig.ListenPacket should have comment or be unexported (golint)
    • pipe/components/protocol/http/lb/init.go
    • Line 13: warning: exported var ErrNotHandler should have comment or be unexported (golint)
    • Line 24: warning: exported type Weight should have comment or be unexported (golint)
    • Line 29: warning: exported type Config should have comment or be unexported (golint)
    • Line 34: warning: exported function NewLBWithConfig should have comment or be unexported (golint)
    • pipe/components/stream/init.go
    • Line 22: warning: exported type Stream should have comment or be unexported (golint)
    • Line 24: warning: exported type StreamListener should have comment or be unexported (golint)
    • Line 26: warning: exported type Handler should have comment or be unexported (golint)
    • Line 30: warning: exported type ListenConfig should have comment or be unexported (golint)
    • Line 35: warning: exported type Dialer should have comment or be unexported (golint)
    • Line 43: warning: exported type NetworkEnum should have comment or be unexported (golint)
    • Line 46: warning: exported const EnumNetworkTCP should have comment (or a comment on this block) or be unexported (golint)
    • pipe/components/stream/handler/tls/init.go
    • Line 19: warning: exported type Config should have comment or be unexported (golint)
    • Line 24: warning: exported function NewTlsDownWithConfig should have comment or be unexported (golint)
    • Line 28: warning: exported function NewTlsUpWithConfig should have comment or be unexported (golint)
    • pipe/examples/examples.go
    • Line 10: warning: exported var Examples should have comment or be unexported (golint)
    • Line 20: warning: exported var ExampleDebug should have comment or be unexported (golint)
    • pipe/components/common/gen/github.com/pipeproxy/pipe/components/service/service/init.go
    • Line 1: warning: package comment should be of the form "Package service ..." (golint)
    • Line 20: warning: exported type Config should have comment or be unexported (golint)
    • Line 25: warning: exported function NewServiceRefWithConfig should have comment or be unexported (golint)
    • Line 34: warning: exported function NewServiceDefWithConfig should have comment or be unexported (golint)
    • Line 38: warning: exported function ServicePut should have comment or be unexported (golint)
    • Line 52: warning: exported function ServiceGet should have comment or be unexported (golint)
    • Line 71: warning: exported var ServiceNone should have comment or be unexported (golint)
    • Line 95: warning: exported type Service should have comment or be unexported (golint)
    • Line 101: warning: exported method Service.Close should have comment or be unexported (golint)
    • Line 105: warning: exported method Service.Run should have comment or be unexported (golint)
    • pipe/components/once/service/service.go
    • Line 10: warning: exported type Service should have comment or be unexported (golint)
    • Line 14: warning: exported function NewService should have comment or be unexported (golint)
    • Line 20: warning: exported method Service.Do should have comment or be unexported (golint)
    • pipe/components/packet/handler/quic/quic.go
    • Line 13: warning: exported type Listener should have comment or be unexported (golint)
    • Line 21: warning: exported function NewListener should have comment or be unexported (golint)
    • Line 60: warning: exported method Listener.Accept should have comment or be unexported (golint)
    • Line 69: warning: exported method Listener.Close should have comment or be unexported (golint)
    • pipe/components/stream/handler/multi/multi.go
    • Line 11: warning: exported var ErrNotHandler should have comment or be unexported (golint)
    • Line 14: warning: exported type Multi should have comment or be unexported (golint)
    • Line 18: warning: exported function NewMulti should have comment or be unexported (golint)
    • Line 24: warning: exported method Multi.ServeStream should have comment or be unexported (golint)
    • pipe/components/common/load/init.go
    • Line 14: warning: exported function Register should have comment or be unexported (golint)
    • Line 18: warning: exported type Config should have comment or be unexported (golint)
    • Line 22: warning: exported function LoadWithConfig should have comment or be unexported (golint)
    • pipe/components/once/multi/multi.go
    • Line 11: warning: exported var ErrNotServer should have comment or be unexported (golint)
    • Line 14: warning: exported type Multi should have comment or be unexported (golint)
    • Line 18: warning: exported function NewMulti should have comment or be unexported (golint)
    • Line 24: warning: exported method Multi.Do should have comment or be unexported (golint)
    • pipe/internal/listener/listener.go
    • Line 18: warning: exported function Listen should have comment or be unexported (golint)
    • Line 22: warning: exported function VirtualListen should have comment or be unexported (golint)
    • Line 26: warning: exported function ListenPacket should have comment or be unexported (golint)
    • Line 30: warning: exported function DialContext should have comment or be unexported (golint)
    • Line 34: warning: exported function VirtualDialContext should have comment or be unexported (golint)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign99%

IneffAssign detects ineffectual assignments in Go code.


misspell100%

Misspell Finds commonly misspelled English words

No problems detected. Good job!