Struct url::form_urlencoded::Serializer [] [src]

pub struct Serializer<T: Target> {
    // some fields omitted
}

The application/x-www-form-urlencoded serializer.

Methods

impl<T: Target> Serializer<T>

fn new(target: T) -> Self

Create a new application/x-www-form-urlencoded serializer for the given target.

If the target is non-empty, its content is assumed to already be in application/x-www-form-urlencoded syntax.

fn for_suffix(target: T, start_position: usize) -> Self

Create a new application/x-www-form-urlencoded serializer for a suffix of the given target.

If that suffix is non-empty, its content is assumed to already be in application/x-www-form-urlencoded syntax.

fn clear(&mut self) -> &mut Self

Remove any existing name/value pair.

Panics if called after .finish().

fn append_pair(&mut self, name: &str, value: &str) -> &mut Self

Serialize and append a name/value pair.

Panics if called after .finish().

fn extend_pairs<I, K, V>(&mut self, iter: I) -> &mut Self where I: IntoIterator, I::Item: Borrow<(K, V)>, K: AsRef<str>, V: AsRef<str>

Serialize and append a number of name/value pairs.

This simply calls append_pair repeatedly. This can be more convenient, so the user doesn’t need to introduce a block to limit the scope of Serializer’s borrow of its string.

Panics if called after .finish().

fn finish(&mut self) -> T::Finished

If this serializer was constructed with a string, take and return that string.

use url::form_urlencoded;
let encoded: String = form_urlencoded::Serializer::new(String::new())
    .append_pair("foo", "bar & baz")
    .append_pair("saison", "Été+hiver")
    .finish();
assert_eq!(encoded, "foo=bar+%26+baz&saison=%C3%89t%C3%A9%2Bhiver");

Panics if called more than once.