remote_ip v0.1.1 RemoteIp.Headers.Forwarded

RFC 7239 compliant parser for Forwarded headers.

Summary

Functions

Given a Forwarded header’s string value, parses out IP addresses from the for= parameter

Types

header()
ip()
ip :: :inet.ip_address

Functions

parse(header)
parse(header) :: [ip]

Given a Forwarded header’s string value, parses out IP addresses from the for= parameter.

Examples

iex> RemoteIp.Headers.Forwarded.parse("for=1.2.3.4;by=2.3.4.5")
[{1, 2, 3, 4}]

iex> RemoteIp.Headers.Forwarded.parse("for=\"[::1]\", for=\"[::2]\"")
[{0, 0, 0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, 0, 0, 0, 2}]

iex> RemoteIp.Headers.Forwarded.parse("invalid")
[]