///|
pub fn encode(header : ProxyHeader) -> Result[Bytes, ProxyError] {
match header.version {
V1 => encode_v1(header)
V2 => encode_v2(header)
}
}
///|
pub fn encode_with_payload(
header : ProxyHeader,
payload : Bytes,
) -> Result[Bytes, ProxyError] {
match encode(header) {
Err(err) => Err(err)
Ok(prefix) => Ok(bytes_concat(prefix, payload))
}
}