mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-04-01 02:05:30 +00:00
aquatic_http: write to buf ref in request serialization
This commit is contained in:
parent
fd68a5f603
commit
cc46c4b72c
3 changed files with 60 additions and 57 deletions
|
|
@ -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();
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue