diff --git a/src/event_source.rs b/src/event_source.rs index a18ee1a..f6e7ce1 100644 --- a/src/event_source.rs +++ b/src/event_source.rs @@ -134,7 +134,19 @@ fn check_response(response: Response) -> Result { if content_type .to_str() .map_err(|_| ()) - .and_then(|s| s.parse::().map_err(|_| ())) + .and_then(|s| { + s.parse::() + .map_err(|_| (())) + // Fallback to content type without parameters. + .or_else(|_| match s.contains(";") { + true => s + .split(';') + .next() + .map(|s| s.parse::().map_err(|_| (()))) + .unwrap(), + false => Err(()), + }) + }) .map(|mime_type| { matches!( (mime_type.type_(), mime_type.subtype()),