[][src]Function mparsed::parse_response

pub fn parse_response<'a, I: Iterator<Item = &'a str>, T: DeserializeOwned>(
    input: I
) -> Result<T, Error>

Parse an interator of string slices into T, returning Ok(T) if the data could be deserialized and the MPD response ended with OK or Error if the deserialization failed or MPD sent an error message.

let response = "file: 01 Track.flac
Last-Modified: 2018-03-07T13:11:43Z
duration: 123.45
Pos: 1
Id: 2
OK";
let parsed: Track = parse_response(response.lines()).unwrap();

assert_eq!(parsed.file, String::from("01 Track.flac"));
assert_eq!(parsed.duration, Some(Duration::from_secs_f64(123.45)));

For responses that contain multiple instances of a struct (like playlists), see parse_response_vec.