Cargo clippy fixes

This commit is contained in:
Yong Wen Chua 2017-07-26 14:37:02 +08:00
parent 198190fb08
commit ede4b1a222
6 changed files with 32 additions and 31 deletions

View File

@ -44,13 +44,13 @@ fn main() {
printerr!(
"{} {}",
Red.bold().paint("Error:"),
White.paint("rowdy requires a nightly version of Rust.")
White.paint("rocket_cors requires a nightly version of Rust.")
);
print_version_err(&*version, &*date);
printerr!(
"{}{}{}",
Blue.paint("See the README ("),
White.paint("https://github.com/lawliet89/rowdy"),
White.paint("https://github.com/lawliet89/rocket_cors"),
Blue.paint(") for more information.")
);
panic!("Aborting compilation due to incompatible compiler.")
@ -60,7 +60,7 @@ fn main() {
printerr!(
"{} {}",
Red.bold().paint("Error:"),
White.paint("rowdy requires a more recent version of rustc.")
White.paint("rocket_cors requires a more recent version of rustc.")
);
printerr!(
"{}{}{}",
@ -75,7 +75,7 @@ fn main() {
_ => {
println!(
"cargo:warning={}",
"rowdy was unable to check rustc compatibility."
"rocket_cors was unable to check rustc compatibility."
);
println!(
"cargo:warning={}",

View File

@ -1,4 +1,6 @@
//! Fairing implementation
use std::str::FromStr;
use rocket::{self, Request, Outcome};
use rocket::http::{self, Status, Header};
@ -18,7 +20,10 @@ impl InjectedHeader {
InjectedHeader::Failure => "Failure",
}
}
}
impl FromStr for InjectedHeader {
type Err = Error;
fn from_str(s: &str) -> Result<Self, Error> {
match s {
"Success" => Ok(InjectedHeader::Success),
@ -59,7 +64,7 @@ fn route_to_fairing_error_handler(options: &Cors, status: u16, request: &mut Req
}
/// Inject a header into the Request with result
fn inject_request_header(header: InjectedHeader, request: &mut Request) {
fn inject_request_header(header: &InjectedHeader, request: &mut Request) {
request.replace_header(Header::new(CORS_HEADER, header.to_str()));
}
@ -89,9 +94,9 @@ fn on_response_wrapper(
let cors_response = if request.method() == http::Method::Options {
let headers = request_headers(request)?;
preflight_response(options, origin, headers)
preflight_response(options, &origin, headers.as_ref())
} else {
actual_request_response(options, origin)
actual_request_response(options, &origin)
};
cors_response.merge(response);
@ -147,7 +152,7 @@ impl rocket::fairing::Fairing for Cors {
}
};
inject_request_header(injected_header, request);
inject_request_header(&injected_header, request);
}
fn on_response(&self, request: &Request, response: &mut rocket::Response) {

View File

@ -1403,9 +1403,9 @@ fn validate_and_build(options: &Cors, request: &Request) -> Result<Response, Err
Ok(match result {
ValidationResult::None => Response::new(),
ValidationResult::Preflight { origin, headers } => {
preflight_response(options, origin, headers)
preflight_response(options, &origin, headers.as_ref())
}
ValidationResult::Request { origin } => actual_request_response(options, origin),
ValidationResult::Request { origin } => actual_request_response(options, &origin),
})
}
@ -1532,7 +1532,7 @@ fn preflight_validate(
// 2. If the value of the Origin header is not a case-sensitive match for any of the values
// in list of origins do not set any additional headers and terminate this set of steps.
validate_origin(&origin, &options.allowed_origins)?;
validate_origin(origin, &options.allowed_origins)?;
// 3. Let `method` be the value as result of parsing the Access-Control-Request-Method
// header.
@ -1558,7 +1558,7 @@ fn preflight_validate(
// values in list of headers do not set any additional headers and terminate this set of
// steps.
if let &Some(ref headers) = headers {
if let Some(ref headers) = *headers {
validate_allowed_headers(headers, &options.allowed_headers)?;
}
@ -1571,8 +1571,8 @@ fn preflight_validate(
/// [W3C recommendation](https://www.w3.org/TR/cors/#resource-preflight-requests).
fn preflight_response(
options: &Cors,
origin: Origin,
headers: Option<AccessControlRequestHeaders>,
origin: &Origin,
headers: Option<&AccessControlRequestHeaders>,
) -> Response {
let response = Response::new();
@ -1590,10 +1590,10 @@ fn preflight_response(
if options.send_wildcard {
response.any()
} else {
response.origin(&origin, true)
response.origin(origin, true)
}
}
AllOrSome::Some(_) => response.origin(&origin, false),
AllOrSome::Some(_) => response.origin(origin, false),
};
let response = response.credentials(options.allow_credentials);
@ -1623,7 +1623,7 @@ fn preflight_response(
// from Access-Control-Allow-Headers can be enough.
// We do not do anything special with simple headers
let response = if let Some(ref headers) = headers {
if let Some(headers) = headers {
let &AccessControlRequestHeaders(ref headers) = headers;
response.headers(
headers
@ -1634,9 +1634,7 @@ fn preflight_response(
)
} else {
response
};
response
}
}
/// Do checks for an actual request
@ -1652,7 +1650,7 @@ fn actual_request_validate(options: &Cors, origin: &Origin) -> Result<(), Error>
// in list of origins, do not set any additional headers and terminate this set of steps.
// Always matching is acceptable since the list of origins can be unbounded.
validate_origin(&origin, &options.allowed_origins)?;
validate_origin(origin, &options.allowed_origins)?;
Ok(())
}
@ -1661,7 +1659,7 @@ fn actual_request_validate(options: &Cors, origin: &Origin) -> Result<(), Error>
///
/// This implementation references the
/// [W3C recommendation](https://www.w3.org/TR/cors/#resource-requests).
fn actual_request_response(options: &Cors, origin: Origin) -> Response {
fn actual_request_response(options: &Cors, origin: &Origin) -> Response {
let response = Response::new();
// 3. If the resource supports credentials add a single Access-Control-Allow-Origin header,
@ -1679,10 +1677,10 @@ fn actual_request_response(options: &Cors, origin: Origin) -> Response {
if options.send_wildcard {
response.any()
} else {
response.origin(&origin, true)
response.origin(origin, true)
}
}
AllOrSome::Some(_) => response.origin(&origin, false),
AllOrSome::Some(_) => response.origin(origin, false),
};
let response = response.credentials(options.allow_credentials);
@ -1694,16 +1692,14 @@ fn actual_request_response(options: &Cors, origin: Origin) -> Response {
// of all entries where origin is a case-sensitive match for the value of the Origin header
// and url is a case-sensitive match for the URL of the resource.
let response = response.exposed_headers(
response.exposed_headers(
options
.expose_headers
.iter()
.map(|s| &**s)
.collect::<Vec<&str>>()
.as_slice(),
);
response
)
}
/// Returns "catch all" OPTIONS routes that you can mount to catch all OPTIONS request. Only works

View File

@ -1,4 +1,4 @@
//! This crate tests using rocket_cors using Fairings
//! This crate tests using `rocket_cors` using Fairings
#![feature(plugin)]
#![plugin(rocket_codegen)]

View File

@ -1,4 +1,4 @@
//! This crate tests using rocket_cors using the per-route handling with request guard
//! This crate tests using `rocket_cors` using the per-route handling with request guard
#![feature(plugin)]
#![plugin(rocket_codegen)]

View File

@ -1,4 +1,4 @@
//! This crate tests using rocket_cors using manual mode
//! This crate tests using `rocket_cors` using manual mode
#![feature(plugin, conservative_impl_trait)]
#![plugin(rocket_codegen)]