lta/get_taxi_availability/
json.rs1#![allow(
3 clippy::doc_markdown,
4 clippy::missing_errors_doc,
5 clippy::must_use_candidate,
6 clippy::needless_pass_by_value,
7 clippy::return_self_not_must_use,
8 clippy::single_match_else
9)]
10
11use super::super::types::Coordinates;
12use super::parts::{
13 GetTaxiAvailabilityInput, GetTaxiAvailabilityResponse, get_taxi_availability_parts,
14};
15pub fn encode_get_taxi_availability(
19 input: GetTaxiAvailabilityInput,
20) -> Result<http::Request<Vec<u8>>, satay_runtime::Error> {
21 let parts = get_taxi_availability_parts(input)?;
22 satay_runtime::into_empty_request(parts)
23}
24pub fn decode_get_taxi_availability_response<B: AsRef<[u8]>>(
25 response: satay_runtime::ResponseParts<B>,
26) -> Result<GetTaxiAvailabilityResponse, satay_runtime::Error> {
27 let status = response.status;
28 match status.as_u16() {
29 200 => {
30 let body = response.body;
31 let value = satay_runtime::from_projected_json_slice::<Vec<Coordinates>>(
32 body.as_ref(),
33 "value",
34 None,
35 )?;
36 Ok(GetTaxiAvailabilityResponse::Ok(value))
37 }
38 _ => {
39 let body = response.body;
40 Ok(GetTaxiAvailabilityResponse::UnexpectedStatus(
41 status,
42 body.as_ref().to_vec(),
43 ))
44 }
45 }
46}