mirror of
https://github.com/actix/actix-extras.git
synced 2025-06-30 03:44:27 +02:00
remove unsafe from scope impl
This commit is contained in:
@ -163,18 +163,18 @@ impl<T: AsyncWrite, H: 'static> Writer for H1Writer<T, H> {
|
||||
|
||||
// status line
|
||||
helpers::write_status_line(version, msg.status().as_u16(), &mut buffer);
|
||||
SharedBytes::extend_from_slice_(buffer, reason);
|
||||
buffer.extend_from_slice(reason);
|
||||
|
||||
match body {
|
||||
Body::Empty => if req.method != Method::HEAD {
|
||||
SharedBytes::put_slice(buffer, b"\r\ncontent-length: 0\r\n");
|
||||
buffer.extend_from_slice(b"\r\ncontent-length: 0\r\n");
|
||||
} else {
|
||||
SharedBytes::put_slice(buffer, b"\r\n");
|
||||
buffer.extend_from_slice(b"\r\n");
|
||||
},
|
||||
Body::Binary(ref bytes) => {
|
||||
helpers::write_content_length(bytes.len(), &mut buffer)
|
||||
}
|
||||
_ => SharedBytes::put_slice(buffer, b"\r\n"),
|
||||
_ => buffer.extend_from_slice(b"\r\n"),
|
||||
}
|
||||
|
||||
// write headers
|
||||
@ -218,7 +218,7 @@ impl<T: AsyncWrite, H: 'static> Writer for H1Writer<T, H> {
|
||||
self.settings.set_date(&mut buffer);
|
||||
} else {
|
||||
// msg eof
|
||||
SharedBytes::extend_from_slice_(buffer, b"\r\n");
|
||||
buffer.extend_from_slice(b"\r\n");
|
||||
}
|
||||
self.headers_size = buffer.len() as u32;
|
||||
}
|
||||
|
@ -1,9 +1,10 @@
|
||||
use bytes::{BufMut, BytesMut};
|
||||
use std::cell::RefCell;
|
||||
use std::collections::VecDeque;
|
||||
use std::io;
|
||||
use std::rc::Rc;
|
||||
|
||||
use bytes::BytesMut;
|
||||
|
||||
use body::Binary;
|
||||
|
||||
#[derive(Debug)]
|
||||
@ -80,31 +81,13 @@ impl SharedBytes {
|
||||
#[inline]
|
||||
pub fn extend(&mut self, data: &Binary) {
|
||||
let buf = self.get_mut();
|
||||
let data = data.as_ref();
|
||||
buf.reserve(data.len());
|
||||
SharedBytes::put_slice(buf, data);
|
||||
buf.extend_from_slice(data.as_ref());
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn extend_from_slice(&mut self, data: &[u8]) {
|
||||
let buf = self.get_mut();
|
||||
buf.reserve(data.len());
|
||||
SharedBytes::put_slice(buf, data);
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub(crate) fn put_slice(buf: &mut BytesMut, src: &[u8]) {
|
||||
let len = src.len();
|
||||
unsafe {
|
||||
buf.bytes_mut()[..len].copy_from_slice(src);
|
||||
buf.advance_mut(len);
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub(crate) fn extend_from_slice_(buf: &mut BytesMut, data: &[u8]) {
|
||||
buf.reserve(data.len());
|
||||
SharedBytes::put_slice(buf, data);
|
||||
buf.extend_from_slice(data);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user