mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
fixes 4184: no-sniff and check-for-apache-bug for mime sniffing
This commit is contained in:
parent
7561f7b83f
commit
e840698d4a
1 changed files with 17 additions and 2 deletions
|
@ -99,8 +99,23 @@ pub fn start_sending_sniffed_opt(start_chan: LoadConsumer, mut metadata: Metadat
|
|||
-> Result<ProgressSender, ()> {
|
||||
if opts::get().sniff_mime_types {
|
||||
// TODO: should be calculated in the resource loader, from pull requeset #4094
|
||||
let nosniff = false;
|
||||
let check_for_apache_bug = false;
|
||||
let mut nosniff = false;
|
||||
let mut check_for_apache_bug = false;
|
||||
|
||||
if let Some(ref headers) = metadata.headers {
|
||||
if let Some(ref raw_content_type) = headers.get_raw("content-type") {
|
||||
let ref last_raw_content_type = raw_content_type[raw_content_type.len() - 1];
|
||||
check_for_apache_bug = last_raw_content_type == b"text/plain"
|
||||
|| last_raw_content_type == b"text/plain; charset=ISO-8859-1"
|
||||
|| last_raw_content_type == b"text/plain; charset=iso-8859-1"
|
||||
|| last_raw_content_type == b"text/plain; charset=UTF-8";
|
||||
}
|
||||
if let Some(ref raw_content_type_options) = headers.get_raw("content-type-options") {
|
||||
for options in raw_content_type_options.iter() {
|
||||
nosniff = nosniff || options == b"nosniff";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
let supplied_type = metadata.content_type.map(|ContentType(Mime(toplevel, sublevel, _))| {
|
||||
(format!("{}", toplevel), format!("{}", sublevel))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue