diff options
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/eventsource.rs | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/components/script/dom/eventsource.rs b/components/script/dom/eventsource.rs index 5daaf3a5f7b..40b9465a5de 100644 --- a/components/script/dom/eventsource.rs +++ b/components/script/dom/eventsource.rs @@ -344,19 +344,15 @@ impl FetchResponseListener for EventSourceContext { FetchMetadata::Unfiltered(m) => m, FetchMetadata::Filtered { unsafe_, .. } => unsafe_, }; - match meta.content_type { - None => self.fail_the_connection(), - Some(ct) => { - if <ContentType as Into<Mime>>::into(ct.into_inner()) == - mime::TEXT_EVENT_STREAM - { - self.origin = meta.final_url.origin().ascii_serialization(); - self.announce_the_connection(); - } else { - self.fail_the_connection() - } - }, + let mime = match meta.content_type { + None => return self.fail_the_connection(), + Some(ct) => <ContentType as Into<Mime>>::into(ct.into_inner()), + }; + if (mime.type_(), mime.subtype()) != (mime::TEXT, mime::EVENT_STREAM) { + return self.fail_the_connection(); } + self.origin = meta.final_url.origin().ascii_serialization(); + self.announce_the_connection(); }, Err(_) => { self.reestablish_the_connection(); |