diff --git a/google-apis-common/Cargo.toml b/google-apis-common/Cargo.toml index aa601650a3..ff2249c544 100644 --- a/google-apis-common/Cargo.toml +++ b/google-apis-common/Cargo.toml @@ -16,7 +16,7 @@ doctest = false # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -mime = "^ 0.2.0" +mime = "^ 0.3" serde = { version = "^ 1.0", features = ["derive"] } serde_with = "2.0.1" serde_json = "^ 1.0" diff --git a/google-apis-common/src/lib.rs b/google-apis-common/src/lib.rs index e66f011465..67f9e9cd97 100644 --- a/google-apis-common/src/lib.rs +++ b/google-apis-common/src/lib.rs @@ -17,7 +17,7 @@ use hyper::header::{HeaderMap, AUTHORIZATION, CONTENT_LENGTH, CONTENT_TYPE, USER use hyper::Method; use hyper::StatusCode; -use mime::{Attr, Mime, SubLevel, TopLevel, Value}; +use mime::Mime; use serde_json as json; @@ -358,7 +358,7 @@ impl<'a> MultiPartReader<'a> { let mut headers = HeaderMap::new(); headers.insert( CONTENT_TYPE, - hyper::header::HeaderValue::from_str(&format!("{}", mime_type)).unwrap(), + hyper::header::HeaderValue::from_str(&mime_type.to_string()).unwrap(), ); headers.insert(CONTENT_LENGTH, size.into()); self.raw_parts.push((headers, reader)); @@ -368,14 +368,8 @@ impl<'a> MultiPartReader<'a> { /// Returns the mime-type representing our multi-part message. /// Use it with the ContentType header. pub fn mime_type(&self) -> Mime { - Mime( - TopLevel::Multipart, - SubLevel::Ext("related".to_string()), - vec![( - Attr::Ext("boundary".to_string()), - Value::Ext(BOUNDARY.to_string()), - )], - ) + Mime::from_str(&format!("multipart/related;boundary={}", BOUNDARY)) + .expect("valid mimetype") } /// Returns true if we are totally used diff --git a/src/generator/templates/Cargo.toml.mako b/src/generator/templates/Cargo.toml.mako index 3001397c39..3c0b8ceb41 100644 --- a/src/generator/templates/Cargo.toml.mako +++ b/src/generator/templates/Cargo.toml.mako @@ -26,11 +26,10 @@ path = "src/main.rs" % endif [dependencies] -## TODO: temporary, remove when yup-oauth2 is optional anyhow = "^ 1.0" hyper-rustls = "0.23.0" ## Must match the one hyper uses, otherwise there are duplicate similarly named `Mime` structs -mime = "^ 0.2.0" +mime = "^ 0.3.0" serde = { version = "^ 1.0", features = ["derive"] } serde_json = "^ 1.0" itertools = "^ 0.10" diff --git a/src/generator/templates/api/lib/mbuild.mako b/src/generator/templates/api/lib/mbuild.mako index 7e56b03828..c4983b61e5 100644 --- a/src/generator/templates/api/lib/mbuild.mako +++ b/src/generator/templates/api/lib/mbuild.mako @@ -689,7 +689,7 @@ else { let url = url::Url::parse_with_params(&url, params).unwrap(); % if request_value: - let mut json_mime_type: mime::Mime = "application/json".parse().unwrap(); + let mut json_mime_type = mime::APPLICATION_JSON; let mut request_value_reader = { let mut value = json::value::to_value(&self.${property(REQUEST_VALUE_PROPERTY_NAME)}).expect("serde to work");