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)

Ranch 2.1 Function Reference

Navigation

Version select

Like my work? Donate!

Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:

Recurring payment options are also available via GitHub Sponsors. These funds are used to cover the recurring expenses like food, dedicated servers or domain names.