|  | // Copyright 2011 The Go Authors. All rights reserved. | 
|  | // Use of this source code is governed by a BSD-style | 
|  | // license that can be found in the LICENSE file. | 
|  |  | 
|  | package proxy | 
|  |  | 
|  | import ( | 
|  | "context" | 
|  | "net" | 
|  | ) | 
|  |  | 
|  | type direct struct{} | 
|  |  | 
|  | // Direct implements Dialer by making network connections directly using net.Dial or net.DialContext. | 
|  | var Direct = direct{} | 
|  |  | 
|  | var ( | 
|  | _ Dialer        = Direct | 
|  | _ ContextDialer = Direct | 
|  | ) | 
|  |  | 
|  | // Dial directly invokes net.Dial with the supplied parameters. | 
|  | func (direct) Dial(network, addr string) (net.Conn, error) { | 
|  | return net.Dial(network, addr) | 
|  | } | 
|  |  | 
|  | // DialContext instantiates a net.Dialer and invokes its DialContext receiver with the supplied parameters. | 
|  | func (direct) DialContext(ctx context.Context, network, addr string) (net.Conn, error) { | 
|  | var d net.Dialer | 
|  | return d.DialContext(ctx, network, addr) | 
|  | } |