fnet

package
v1.6.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 3, 2020 License: Apache-2.0 Imports: 11 Imported by: 9

Documentation

Index

Constants

View Source
const (
	// DefaultGRPCPort is the Fortio gRPC server default port number.
	DefaultGRPCPort = "8079"
	// StandardHTTPPort is the Standard http port number.
	StandardHTTPPort = "80"
	// StandardHTTPSPort is the Standard https port number.
	StandardHTTPSPort = "443"
	// PrefixHTTP is a constant value for representing http protocol that can be added prefix of url
	PrefixHTTP = "http://"
	// PrefixHTTPS is a constant value for representing secure http protocol that can be added prefix of url
	PrefixHTTPS = "https://"

	// POST is a constant value that indicates http method as post
	POST = "POST"
	// GET is a constant value that indicates http method as get
	GET = "GET"
	// UnixDomainSocket type for network addresses.
	UnixDomainSocket = "unix"
)

Variables

View Source
var (
	KILOBYTE = 1024
	// MaxPayloadSize is the maximum size of payload to be generated by the
	// EchoHandler size= argument. In bytes.
	MaxPayloadSize = 256 * KILOBYTE
	// Payload that is returned during echo call
	Payload []byte
)

nolint: gochecknoglobals

View Source
var ErrNilDestination = fmt.Errorf("nil destination")

ErrNilDestination returned when trying to proxy to a nil address. nolint: gochecknoglobals // required by err113: do not define dynamic errors, use wrapped static errors instead

Functions

func ChangeMaxPayloadSize added in v1.1.0

func ChangeMaxPayloadSize(newMaxPayloadSize int)

ChangeMaxPayloadSize is used to change max payload size and fill it with pseudorandom content.

func GeneratePayload added in v1.1.0

func GeneratePayload(payloadFilePath string, payloadSize int, payload string) []byte

GeneratePayload generates a payload with given inputs. First tries filePath, then random payload, at last payload.

func GenerateRandomPayload added in v1.1.0

func GenerateRandomPayload(payloadSize int) []byte

GenerateRandomPayload generates a random payload with given input size.

func GetPort added in v1.1.0

func GetPort(lAddr net.Addr) string

GetPort extracts the port for TCP sockets and the path for unix domain sockets.

func GetUniqueUnixDomainPath added in v1.1.0

func GetUniqueUnixDomainPath(prefix string) string

GetUniqueUnixDomainPath returns a path to be used for unix domain socket.

func Listen added in v0.8.0

func Listen(name string, port string) (net.Listener, net.Addr)

Listen returns a listener for the port. Port can be a port or a bind address and a port (e.g. "8080" or "[::1]:8080"...). If the port component is 0 a free port will be returned by the system. If the port is a pathname (contains a /) a unix domain socket listener will be used instead of regular tcp socket. This logs critical on error and returns nil (is meant for servers that must start).

func NormalizeHostPort added in v1.0.0

func NormalizeHostPort(inputPort string, addr net.Addr) string

NormalizeHostPort generates host:port string for the address or uses localhost instead of [::] when the original port binding input didn't specify an address.

func NormalizePort

func NormalizePort(port string) string

NormalizePort parses port and returns host:port if port is in the form of host:port already or :port if port is only a port (doesn't contain :).

func Proxy added in v0.8.0

func Proxy(port string, dest net.Addr) net.Addr

Proxy starts a tcp proxy.

func ProxyToDestination added in v0.8.0

func ProxyToDestination(listenPort string, destination string) net.Addr

ProxyToDestination opens a proxy from the listenPort (or addr:port or unix domain socket path) and forwards all traffic to destination (host:port).

func ReadFileForPayload added in v1.1.0

func ReadFileForPayload(payloadFilePath string) ([]byte, error)

ReadFileForPayload reads the file from given input path.

func Resolve added in v0.8.0

func Resolve(host string, port string) net.Addr

Resolve returns the TCP address of the host,port suitable for net.Dial. nil in case of errors.

func ResolveDestination added in v0.8.0

func ResolveDestination(dest string) net.Addr

ResolveDestination returns the TCP address of the "host:port" suitable for net.Dial. nil in case of errors.

func SmallReadUntil added in v1.6.4

func SmallReadUntil(r io.Reader, stopByte byte, max int) ([]byte, bool, error)

SmallReadUntil will read one byte at a time until stopByte is found and up to max bytes total. Returns what was read (without the stop byte when found), whether the stop byte was found, whether an error occurred (eof...). Because we read one by one directly (no buffer) this should only be used for short variable length preamble type read.

func ValidatePayloadSize added in v1.1.0

func ValidatePayloadSize(size *int)

ValidatePayloadSize compares input size with MaxPayLoadSize. If size exceeds the MaxPayloadSize size will set to MaxPayLoadSize.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL