From 8611b0f8c46de771a1bcf1ac5d04e6ebd311c3d6 Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Sat, 12 Jan 2019 20:15:51 +0100 Subject: [PATCH] Tweak the MIME comparison in EventSource MIME parameters should not be inspected when checking for text/event-stream. --- components/script/dom/eventsource.rs | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/components/script/dom/eventsource.rs b/components/script/dom/eventsource.rs index 5daaf3a5f7b0..40b9465a5de6 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 >::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) => >::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();