pub struct Request<'a> { /* private fields */ }
Expand description

Look at this Request struct for documentation on how to build your Time Zone API query. The methods implemented for this struct are what’s used to build your request.

Implementations§

source§

impl<'a> Request<'a>

source

pub fn build(&mut self) -> &'a mut Request<'_>

Builds the query string for the Google Maps Time Zone API based on the input provided by the client.

§Arguments

This method accepts no arguments.

source§

impl<'a> Request<'a>

source

pub async fn execute(&'a mut self) -> Result<TimeZoneResponse, GoogleMapsError>

Executes the query you’ve built.

§Description

My adventures in Rust became messy so I had to make this method. It wraps the .validate()?.build()?.get()? chain needed at the end of the builder pattern.

§Arguments

This method accepts no arguments.

source§

impl<'a> Request<'a>

source

pub async fn get(&mut self) -> Result<TimeZoneResponse, GoogleMapsError>

Performs the HTTP get request and returns the response to the caller.

§Arguments

This method accepts no arguments.

source§

impl<'a> Request<'a>

source

pub const fn new( client: &GoogleMapsClient, location: LatLng, timestamp: DateTime<Utc> ) -> Request<'_>

Initializes the builder pattern for a Time Zone API query with the required, non-optional parameters.

§Arguments
  • client ‧ Your application’s Google Maps API client struct.

  • location ‧ Latitude & longitude of the desired time zone location.

  • timestamp ‧ Time is used to determine if Daylight Savings is applicable.

§Example
use google_maps::prelude::TimeZoneRequest;
use google_maps::{LatLng, NaiveDate};

let time_zone = TimeZoneRequest::new(
    &my_settings,
    // St. Vitus Cathedral in Prague, Czechia
    LatLng::try_from_dec(50.090_903, 14.400_512)?,
    // Tuesday February 15, 2022 @ 6:00:00 pm
    NaiveDate::from_ymd(2022, 2, 15).and_hms(18, 00, 0)
).execute();
source§

impl<'a> Request<'a>

source

pub fn query_url(&'a mut self) -> String

Returns the URL query string that represents the query you’ve built.

§Description

Returns the query string that will be sent to the Google Maps API. It is the result of the builder pattern. This method could be useful for records or logging. It could also be used for passing to your HTTP client of choice and executing the HTTP GET request yourself.

§Arguments

This method accepts no arguments.

source§

impl<'a> Request<'a>

source

pub fn with_language(&'a mut self, language: Language) -> &'a mut Request<'_>

Adds the language parameter to the Time Zone API query.

§Arguments
  • language ‧ The language that Google’s response should be presented in.
§Example
  • Set Google’s response to the French language:
.with_language(Language::French)

Trait Implementations§

source§

impl<'a> Debug for Request<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'a> !RefUnwindSafe for Request<'a>

§

impl<'a> Send for Request<'a>

§

impl<'a> Sync for Request<'a>

§

impl<'a> Unpin for Request<'a>

§

impl<'a> !UnwindSafe for Request<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more