Skip to main content

lta/get_traffic_speed_bands/
json.rs

1// @generated by satay. Do not edit by hand.
2#![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::TrafficSpeedBand;
12use super::parts::{
13    GetTrafficSpeedBandsInput, GetTrafficSpeedBandsResponse, get_traffic_speed_bands_parts,
14};
15/// Returns current traffic speeds on expressways and arterial roads, expressed in speed bands.
16///
17/// **Update freq**: 5 min
18pub fn encode_get_traffic_speed_bands(
19    input: GetTrafficSpeedBandsInput,
20) -> Result<http::Request<Vec<u8>>, satay_runtime::Error> {
21    let parts = get_traffic_speed_bands_parts(input)?;
22    satay_runtime::into_empty_request(parts)
23}
24pub fn decode_get_traffic_speed_bands_response<B: AsRef<[u8]>>(
25    response: satay_runtime::ResponseParts<B>,
26) -> Result<GetTrafficSpeedBandsResponse, 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<TrafficSpeedBand>>(
32                body.as_ref(),
33                "value",
34                None,
35            )?;
36            Ok(GetTrafficSpeedBandsResponse::Ok(value))
37        }
38        _ => {
39            let body = response.body;
40            Ok(GetTrafficSpeedBandsResponse::UnexpectedStatus(
41                status,
42                body.as_ref().to_vec(),
43            ))
44        }
45    }
46}