ranch_proxy_header:header(3)

NAME

ranch_proxy_header:header - Build a PROXY protocol header

DESCRIPTION
    header(ProxyInfo)            -> header(ProxyInfo, #{})
    header(ProxyInfo, BuildOpts) -> iodata()

    ProxyInfo :: ranch_proxy_header:proxy_info()
    BuildOpts :: #{
        checksum => crc32c,
        padding  => pos_integer() %% >= 3
    }

Build a PROXY protocol header.

ARGUMENTS

ProxyInfo
    The proxy information to encode.

BuildOpts
    Options to control whether to add a checksum or padding should be included in the encoded PROXY protocol header.

RETURN VALUE

The PROXY protocol header is returned.

CHANGELOG
    • 1.7: Function introduced.

EXAMPLES

Build a PROXY protocol header
    ProxyInfo = #{
        version => 2,
        command => proxy,

        transport_family   => ipv4,
        transport_protocol => stream,

        src_address  => {192, 168, 1, 11},
        src_port     => 54321,
        dest_address => {192, 168, 1, 42},
        dest_port    => 443
    },
    Data = ranch_proxy_header:parse(ProxyInfo).

Build a PROXY protocol header with checksum and padding
    Data = ranch_proxy_header:parse(ProxyInfo, #{
        checksum => crc32c,
        padding  => 7
    }).

SEE ALSO

ranch_proxy_header:header(3), ranch_proxy_header(3)