Helpers for Fastly's Compute@Edge Synthetic Content Tutorial

This crate exports a (de)serializable struct ForecastAPIResponse for WeatherAPI's Forecast endpoint response.

The ensuing data structure supports the creation of a Weather Widget during the Synthetic Content Tutorial using Fastly's Compute@Edge.

Use with Response.take_body_json<T: DeserializeOwned>

```rust let url = format!( "http://api.weatherapi.com/v1/forecast.json?q={},{}&key={}", LATITUDE, LONGITUDE, MYAPIKEY );

let mut resp = Request::new(Method::GET, url) .withpass(true) .send(BACKENDNAME)?;

// Parse the JSON response body into an ForecastAPIResponse let apiresponse = resp.takebody_json::()?; ```

Resulting structure

rust ForecastAPIResponse { on: LocationData { date: DateElements { weekday: "Wednesday", weekday_short: "Wed", pretty_date: " 7 December 2022", }, }, current: CurrentWeatherData { temp_c: 2.0, temp_f: 35.6, wind_mph: 6.9, wind_kph: 11.2, precip_mm: 0.0, precip_in: 0.0, humidity: 80.0, condition: WeatherCondition { description: "Clear", icon: 1000, }, }, forecast: ForecastData { on: [ WeatherReport { dt: DateElements { weekday: "Wednesday", weekday_short: "Wed", pretty_date: " 7 December 2022", }, day: DayWeatherData { avgtemp_c: 3.5, avgtemp_f: 38.3, condition: WeatherCondition { description: "Partly cloudy", icon: 1003, }, }, }, WeatherReport { dt: DateElements { weekday: "Thursday", weekday_short: "Thu", pretty_date: " 8 December 2022", }, day: DayWeatherData { avgtemp_c: 2.0, avgtemp_f: 35.5, condition: WeatherCondition { description: "Sunny", icon: 1000, }, }, }, WeatherReport { dt: DateElements { weekday: "Friday", weekday_short: "Fri", pretty_date: " 9 December 2022", }, day: DayWeatherData { avgtemp_c: 1.3, avgtemp_f: 34.4, condition: WeatherCondition { description: "Sunny", icon: 1000, }, }, }, ], }, }