pub fn write_field_value(
s: &[u8],
out: &mut impl Sink,
) -> Result<(), WriteError>Expand description
Writes s as a field value, after checking every byte is field-vchar,
SP, HTAB, or obs-text.
This is the header-injection guard: a value containing CR, LF, or NUL can never reach the wire through it.
§Errors
WriteError::Forbidden at the first refused byte; WriteError::Full.
§Examples
use parse_net::{write::write_field_value, SliceSink, WriteError};
let mut buf = [0u8; 32];
let mut out = SliceSink::new(&mut buf);
write_field_value(b"text/html; charset=utf-8", &mut out)?;
assert_eq!(write_field_value(b"a\r\nb", &mut out), Err(WriteError::Forbidden { at: 1 }));