Documentation
¶
Overview ¶
Package net provides tools for reading IPs, available Ports, extending HTTP requests, etc.
Index ¶
- Variables
- func BodyWithProgressMonitor(resp *http.Response, progress chan float64, done chan bool) io.Reader
- func DetectHasPrivateIP() (bool, string, error)
- func GetAvailableIPs() (ips []net.IP, e error)
- func GetAvailablePort() int
- func GetExternalIP() (net.IP, error)
- func GetOutboundIP() (net.IP, error)
- func GetTimeFromNtp() (time.Time, error)
- func PeerAddressIsLocal(address string) bool
- type ProgressMonitor
Constants ¶
This section is empty.
Variables ¶
var (
DefaultAdvertiseAddress string
)
Functions ¶
func BodyWithProgressMonitor ¶
BodyWithProgressMonitor creates a ProgressMonitor directly from an http.Response
func GetAvailableIPs ¶
GetExternalIP retrieves the preferred outbound ip of this machine by scanning the network interfaces of this (virtual) machine
func GetAvailablePort ¶
func GetAvailablePort() int
GetAvailablePort finds an available TCP port on which to listen to.
func GetExternalIP ¶
GetExternalIP retrieves the preferred outbound ip of this machine by scanning the network interfaces of this (virtual) machine
func GetOutboundIP ¶
GetOutboundIP restrieves the preferred outbound ip of this machine by simply connecting to a well known ip of the internet.
Types ¶
type ProgressMonitor ¶
type ProgressMonitor struct {
SizeChan chan uint64
// contains filtered or unexported fields
}
ProgressMonitor provides a TeeReader to wrap a reader and send a progress inside a dedicated channel
func NewProgressMonitor ¶
func NewProgressMonitor(expected uint64, progress chan float64, done chan bool) *ProgressMonitor
NewProgressMonitor initialize a ProgressMonitor with the channels
func (*ProgressMonitor) Write ¶
func (m *ProgressMonitor) Write(p []byte) (int, error)
Write implements the io.Writer interface to be used by a TeeReader
Source Files
¶
- http-progress.go
- ips.go
- ntp.go
- private-ip.go