github.com/aporeto-inc/trireme-lib@v10.358.0+incompatible/monitor/remoteapi/client/client_nonwindows.go (about)

     1  // +build !windows
     2  
     3  package client
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  	"net"
     9  )
    10  
    11  // Client is an api client structure.
    12  type Client struct {
    13  	addr *net.UnixAddr
    14  }
    15  
    16  // NewClient creates a new client.
    17  func NewClient(path string) (*Client, error) {
    18  	addr, err := net.ResolveUnixAddr("unix", path)
    19  	if err != nil {
    20  		return nil, fmt.Errorf("invalid address: %s", err)
    21  	}
    22  
    23  	return &Client{addr: addr}, nil
    24  }
    25  
    26  func (c *Client) getDialContext() dialContextFunc {
    27  	return func(_ context.Context, _, _ string) (net.Conn, error) {
    28  		return net.DialUnix("unix", nil, c.addr)
    29  	}
    30  }