mirror of
https://github.com/actix/actix-extras.git
synced 2024-11-24 07:53:00 +01:00
cleanup more code
This commit is contained in:
parent
a69c1e3de5
commit
311f0b23a9
@ -10,7 +10,7 @@ use std::{cmp, io};
|
||||
#[cfg(unix)]
|
||||
use std::os::unix::fs::MetadataExt;
|
||||
|
||||
use bytes::{BufMut, Bytes, BytesMut};
|
||||
use bytes::Bytes;
|
||||
use futures::{Async, Future, Poll, Stream};
|
||||
use futures_cpupool::{CpuFuture, CpuPool};
|
||||
use mime;
|
||||
@ -439,14 +439,13 @@ impl Stream for ChunkedReadFile {
|
||||
self.fut = Some(self.cpu_pool.spawn_fn(move || {
|
||||
let max_bytes: usize;
|
||||
max_bytes = cmp::min(size.saturating_sub(counter), 65_536) as usize;
|
||||
let mut buf = BytesMut::from(Vec::with_capacity(max_bytes));
|
||||
let mut buf = Vec::with_capacity(max_bytes);
|
||||
file.seek(io::SeekFrom::Start(offset))?;
|
||||
let nbytes = file.read(unsafe { buf.bytes_mut() })?;
|
||||
let nbytes = file.read(buf.as_mut_slice())?;
|
||||
if nbytes == 0 {
|
||||
return Err(io::ErrorKind::UnexpectedEof.into());
|
||||
}
|
||||
unsafe { buf.advance_mut(nbytes) };
|
||||
Ok((file, buf.freeze()))
|
||||
Ok((file, Bytes::from(buf)))
|
||||
}));
|
||||
self.poll()
|
||||
}
|
||||
|
@ -634,13 +634,11 @@ mod tests {
|
||||
assert!(req.chunked().unwrap());
|
||||
|
||||
let mut headers = HeaderMap::new();
|
||||
let s = unsafe {
|
||||
str::from_utf8_unchecked(b"some va\xadscc\xacas0xsdasdlue".as_ref())
|
||||
};
|
||||
let hdr = Bytes::from_static(b"some va\xadscc\xacas0xsdasdlue");
|
||||
|
||||
headers.insert(
|
||||
header::TRANSFER_ENCODING,
|
||||
header::HeaderValue::from_str(s).unwrap(),
|
||||
header::HeaderValue::from_shared(hdr).unwrap(),
|
||||
);
|
||||
let req = HttpRequest::new(
|
||||
Method::GET,
|
||||
|
@ -1,9 +1,8 @@
|
||||
//! HTTP Request message related code.
|
||||
#![cfg_attr(feature = "cargo-clippy", allow(transmute_ptr_to_ptr))]
|
||||
use std::collections::HashMap;
|
||||
use std::net::SocketAddr;
|
||||
use std::rc::Rc;
|
||||
use std::{cmp, fmt, io, mem, str};
|
||||
use std::{cmp, fmt, io, str};
|
||||
|
||||
use bytes::Bytes;
|
||||
use cookie::Cookie;
|
||||
@ -446,13 +445,13 @@ impl<S> HttpRequest<S> {
|
||||
/// access the matched value for that segment.
|
||||
#[inline]
|
||||
pub fn match_info(&self) -> &Params {
|
||||
unsafe { mem::transmute(&self.as_ref().params) }
|
||||
&self.as_ref().params
|
||||
}
|
||||
|
||||
/// Get mutable reference to request's Params.
|
||||
#[inline]
|
||||
pub(crate) fn match_info_mut(&mut self) -> &mut Params {
|
||||
unsafe { mem::transmute(&mut self.as_mut().params) }
|
||||
&mut self.as_mut().params
|
||||
}
|
||||
|
||||
/// Checks if a connection should be kept alive.
|
||||
|
@ -146,6 +146,8 @@ impl Quoter {
|
||||
}
|
||||
|
||||
if let Some(data) = cloned {
|
||||
// we get data from http::Uri, which does utf-8 checks already
|
||||
// this code only decodes valid pct encoded values
|
||||
Some(unsafe { Rc::new(String::from_utf8_unchecked(data)) })
|
||||
} else {
|
||||
None
|
||||
|
Loading…
Reference in New Issue
Block a user