force 0.2.0

Production-ready Salesforce Platform API client with REST and Bulk API 2.0 support
Documentation
pub struct UrlEncodedWriter<'a>(pub &'a mut String);

impl std::fmt::Write for UrlEncodedWriter<'_> {
    fn write_str(&mut self, s: &str) -> std::fmt::Result {
        self.0
            .extend(url::form_urlencoded::byte_serialize(s.as_bytes()));
        Ok(())
    }
}

#[cfg(test)]
mod tests {
    use super::*;
    use std::fmt::Write;

    #[test]
    #[allow(clippy::unwrap_used)]
    fn test_url_encoded_writer() {
        let mut out = String::new();
        {
            let mut writer = UrlEncodedWriter(&mut out);
            write!(writer, "hello world&foo=bar").unwrap();
        }
        assert_eq!(out, "hello+world%26foo%3Dbar");

        {
            let mut writer = UrlEncodedWriter(&mut out);
            write!(writer, " test").unwrap();
        }
        assert_eq!(out, "hello+world%26foo%3Dbar+test");
    }
}