Skip to content

Commit 30d90d4

Browse files
committed
chore: update option checks to use IsZeroOptions
1 parent 76052b5 commit 30d90d4

File tree

5 files changed

+15
-7
lines changed

5 files changed

+15
-7
lines changed

adapter/outbound/snell.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ func (s *Snell) writeHeaderContext(ctx context.Context, c net.Conn, metadata *C.
7676

7777
// DialContext implements C.ProxyAdapter
7878
func (s *Snell) DialContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (_ C.Conn, err error) {
79-
if s.version == snell.Version2 && len(opts) == 0 {
79+
if s.version == snell.Version2 && dialer.IsZeroOptions(opts) {
8080
c, err := s.pool.Get()
8181
if err != nil {
8282
return nil, err

adapter/outbound/trojan.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ func (t *Trojan) writeHeaderContext(ctx context.Context, c net.Conn, metadata *C
131131
// DialContext implements C.ProxyAdapter
132132
func (t *Trojan) DialContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (_ C.Conn, err error) {
133133
// gun transport
134-
if t.transport != nil && len(opts) == 0 {
134+
if t.transport != nil && dialer.IsZeroOptions(opts) {
135135
c, err := gun.StreamGunWithTransport(t.transport, t.gunConfig)
136136
if err != nil {
137137
return nil, err
@@ -181,7 +181,7 @@ func (t *Trojan) ListenPacketContext(ctx context.Context, metadata *C.Metadata,
181181
var c net.Conn
182182

183183
// grpc transport
184-
if t.transport != nil && len(opts) == 0 {
184+
if t.transport != nil && dialer.IsZeroOptions(opts) {
185185
c, err = gun.StreamGunWithTransport(t.transport, t.gunConfig)
186186
if err != nil {
187187
return nil, fmt.Errorf("%s connect error: %w", t.addr, err)

adapter/outbound/vless.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ func (v *Vless) streamTLSConn(ctx context.Context, conn net.Conn, isH2 bool) (ne
233233
// DialContext implements C.ProxyAdapter
234234
func (v *Vless) DialContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (_ C.Conn, err error) {
235235
// gun transport
236-
if v.transport != nil && len(opts) == 0 {
236+
if v.transport != nil && dialer.IsZeroOptions(opts) {
237237
c, err := gun.StreamGunWithTransport(v.transport, v.gunConfig)
238238
if err != nil {
239239
return nil, err
@@ -287,7 +287,7 @@ func (v *Vless) ListenPacketContext(ctx context.Context, metadata *C.Metadata, o
287287
}
288288
var c net.Conn
289289
// gun transport
290-
if v.transport != nil && len(opts) == 0 {
290+
if v.transport != nil && dialer.IsZeroOptions(opts) {
291291
c, err = gun.StreamGunWithTransport(v.transport, v.gunConfig)
292292
if err != nil {
293293
return nil, err

adapter/outbound/vmess.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ func (v *Vmess) streamConnConntext(ctx context.Context, c net.Conn, metadata *C.
288288
// DialContext implements C.ProxyAdapter
289289
func (v *Vmess) DialContext(ctx context.Context, metadata *C.Metadata, opts ...dialer.Option) (_ C.Conn, err error) {
290290
// gun transport
291-
if v.transport != nil && len(opts) == 0 {
291+
if v.transport != nil && dialer.IsZeroOptions(opts) {
292292
c, err := gun.StreamGunWithTransport(v.transport, v.gunConfig)
293293
if err != nil {
294294
return nil, err
@@ -339,7 +339,7 @@ func (v *Vmess) ListenPacketContext(ctx context.Context, metadata *C.Metadata, o
339339
}
340340
var c net.Conn
341341
// gun transport
342-
if v.transport != nil && len(opts) == 0 {
342+
if v.transport != nil && dialer.IsZeroOptions(opts) {
343343
c, err = gun.StreamGunWithTransport(v.transport, v.gunConfig)
344344
if err != nil {
345345
return nil, err

component/dialer/options.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,11 @@ func WithOption(o option) Option {
115115
*opt = o
116116
}
117117
}
118+
119+
func IsZeroOptions(opts []Option) bool {
120+
var opt option
121+
for _, o := range opts {
122+
o(&opt)
123+
}
124+
return opt == option{}
125+
}

0 commit comments

Comments
 (0)