Uses and_then instead of more complicated matching

This commit is contained in:
Sam Gibson 2015-08-27 18:39:15 +12:00
parent 84ae53e011
commit 1811ffa178

View file

@ -124,20 +124,20 @@ pub trait HttpResponse: Read {
fn status_raw(&self) -> &RawStatus;
fn content_encoding(&self) -> Option<Encoding> {
match self.headers().get::<ContentEncoding>() {
Some(&ContentEncoding(ref encodings)) => {
if encodings.contains(&Encoding::Gzip) {
Some(Encoding::Gzip)
} else if encodings.contains(&Encoding::Deflate) {
Some(Encoding::Deflate)
} else {
// TODO: Is this the correct behaviour?
None
self.headers().get::<ContentEncoding>().and_then(|h| {
match h {
&ContentEncoding(ref encodings) => {
if encodings.contains(&Encoding::Gzip) {
Some(Encoding::Gzip)
} else if encodings.contains(&Encoding::Deflate) {
Some(Encoding::Deflate)
} else {
// TODO: Is this the correct behaviour?
None
}
}
}
None => None
}
})
}
}