aquatic_http: write to buf ref in request serialization

This commit is contained in:
Joakim Frostegård 2020-07-24 22:27:06 +02:00
parent fd68a5f603
commit cc46c4b72c
3 changed files with 60 additions and 57 deletions

View file

@ -8,15 +8,20 @@ use smartstring::{SmartString, LazyCompact};
use super::response::ResponsePeer;
pub fn urlencode_20_bytes(input: [u8; 20], output: &mut impl Write){
pub fn urlencode_20_bytes(
input: [u8; 20],
output: &mut impl Write
) -> ::std::io::Result<()> {
let mut tmp = [0u8; 2];
for i in 0..input.len() {
hex::encode_to_slice(&input[i..i+1], &mut tmp).unwrap();
output.write(b"%");
output.write(&tmp);
output.write(b"%")?;
output.write(&tmp)?;
}
Ok(())
}
@ -160,7 +165,7 @@ mod tests {
let mut output = Vec::new();
urlencode_20_bytes(input, &mut output);
urlencode_20_bytes(input, &mut output).unwrap();
assert_eq!(output.len(), 60);
@ -195,7 +200,7 @@ mod tests {
let mut output = Vec::new();
urlencode_20_bytes(input, &mut output);
urlencode_20_bytes(input, &mut output).unwrap();
let s = ::std::str::from_utf8(&output).unwrap();