Skip to content

Commit

Permalink
Merge pull request hyperium#1226 from yazaddaruvala/remove_byte_str
Browse files Browse the repository at this point in the history
refactor(uri): make ByteStr an implementation detail of uri
  • Loading branch information
seanmonstar authored Jun 24, 2017
2 parents 579d360 + 3021cd9 commit 1e31e11
Show file tree
Hide file tree
Showing 6 changed files with 11 additions and 22 deletions.
3 changes: 3 additions & 0 deletions src/common/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
pub use self::str::ByteStr;

mod str;
File renamed without changes.
6 changes: 3 additions & 3 deletions src/http/h1/parse.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ use httparse;
use bytes::{BytesMut, Bytes};

use header::{self, Headers, ContentLength, TransferEncoding};
use http::{ByteStr, MessageHead, RawStatus, Http1Transaction, ParseResult, ServerTransaction, ClientTransaction, RequestLine};
use http::{MessageHead, RawStatus, Http1Transaction, ParseResult, ServerTransaction, ClientTransaction, RequestLine};
use http::h1::{Encoder, Decoder, date};
use method::Method;
use status::StatusCode;
Expand Down Expand Up @@ -54,10 +54,10 @@ impl Http1Transaction for ServerTransaction {
let slice = buf.split_to(len).freeze();
let path = slice.slice(path.0, path.1);
// path was found to be utf8 by httparse
let path = unsafe { ByteStr::from_utf8_unchecked(path) };
let path = try!(unsafe { ::uri::from_utf8_unchecked(path) });
let subject = RequestLine(
method,
try!(::uri::from_byte_str(path)),
path,
);

headers.extend(HeadersAsBytesIter {
Expand Down
15 changes: 0 additions & 15 deletions src/http/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,31 +15,16 @@ use version::HttpVersion::{Http10, Http11};
pub use self::conn::{Conn, KeepAlive, KA};
pub use self::body::{Body, TokioBody};
pub use self::chunk::Chunk;
pub use self::str::ByteStr;

mod body;
mod chunk;
mod conn;
mod io;
mod h1;
//mod h2;
mod str;
pub mod request;
pub mod response;

/*
macro_rules! nonblocking {
($e:expr) => ({
match $e {
Ok(n) => Ok(Some(n)),
Err(e) => match e.kind() {
stdio::ErrorKind::WouldBlock => Ok(None),
_ => Err(e)
}
}
});
}
*/

/// An Incoming Message head. Includes request/status line, and headers.
#[derive(Clone, Debug, Default, PartialEq)]
Expand Down
1 change: 1 addition & 0 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ extern crate unicase;
extern crate test;


mod common;
pub use uri::Uri;
pub use client::Client;
pub use error::{Result, Error};
Expand Down
8 changes: 4 additions & 4 deletions src/uri.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ use std::error::Error as StdError;
use std::fmt::{Display, self};
use std::str::{self, FromStr};

use http::ByteStr;
use bytes::{BufMut, BytesMut};
use ::common::ByteStr;
use bytes::{BufMut, Bytes, BytesMut};

/// The Request-URI of a Request's StartLine.
///
Expand Down Expand Up @@ -297,8 +297,8 @@ impl Display for Uri {
}
}

pub fn from_byte_str(s: ByteStr) -> Result<Uri, UriError> {
Uri::new(s)
pub unsafe fn from_utf8_unchecked(slice: Bytes) -> Result<Uri, UriError> {
Uri::new(ByteStr::from_utf8_unchecked(slice))
}

pub fn scheme_and_authority(uri: &Uri) -> Option<Uri> {
Expand Down

0 comments on commit 1e31e11

Please sign in to comment.