fix(http): is_valid_method expects &-ptr

This commit is contained in:
Jakob Gillich
2014-11-19 22:01:39 +01:00
parent 35b7ec132e
commit f3e1baea9f
2 changed files with 5 additions and 5 deletions

View File

@@ -6,7 +6,7 @@ use std::io::net::ip::Ipv4Addr;
static PHRASE: &'static [u8] = b"Hello World!"; static PHRASE: &'static [u8] = b"Hello World!";
fn hyper_handle(mut incoming: hyper::server::Incoming) { fn hyper_handle(mut incoming: hyper::server::Incoming) {
let mut pool = TaskPool::new(100); let pool = TaskPool::new(100);
for conn in incoming { for conn in incoming {
pool.execute(proc() { pool.execute(proc() {

View File

@@ -327,11 +327,11 @@ pub fn read_method<R: Reader>(stream: &mut R) -> HttpResult<method::Method> {
let mut buf = [SP, ..16]; let mut buf = [SP, ..16];
if !try!(read_until_space(stream, &mut buf)) { if !try!(read_until_space(stream, &mut buf)) {
return Err(HttpMethodError); return Err(HttpMethodError);
} }
debug!("method buf = {}", buf[].to_ascii()); debug!("method buf = {}", buf[].to_ascii());
let maybe_method = match buf[0..7] { let maybe_method = match buf[0..7] {
b"GET " => Some(method::Method::Get), b"GET " => Some(method::Method::Get),
b"PUT " => Some(method::Method::Put), b"PUT " => Some(method::Method::Put),
@@ -349,7 +349,7 @@ pub fn read_method<R: Reader>(stream: &mut R) -> HttpResult<method::Method> {
match (maybe_method, buf[]) { match (maybe_method, buf[]) {
(Some(method), _) => Ok(method), (Some(method), _) => Ok(method),
(None, ext) if is_valid_method(buf) => { (None, ext) if is_valid_method(&buf) => {
use std::str::raw; use std::str::raw;
// We already checked that the buffer is ASCII // We already checked that the buffer is ASCII
Ok(method::Method::Extension(unsafe { raw::from_utf8(ext) }.trim().into_string())) Ok(method::Method::Extension(unsafe { raw::from_utf8(ext) }.trim().into_string()))
@@ -629,7 +629,7 @@ mod tests {
fn mem(s: &str) -> MemReader { fn mem(s: &str) -> MemReader {
MemReader::new(s.as_bytes().to_vec()) MemReader::new(s.as_bytes().to_vec())
} }
#[test] #[test]
fn test_read_method() { fn test_read_method() {
fn read(s: &str, m: method::Method) { fn read(s: &str, m: method::Method) {