pub struct Config { /* private fields */ }Expand description
Config primarily for the Agent, but also per-request.
Config objects are cheap to clone and should not incur any heap allocations.
§Agent level config
§Example
use ureq::Agent;
use std::time::Duration;
let config = Agent::config_builder()
.timeout_global(Some(Duration::from_secs(10)))
.https_only(true)
.build();
let agent = Agent::new_with_config(config);§Request level config
The config can also be change per-request. Since every request ultimately executes
using an Agent (also the root-level ureq::get(...) have an implicit agent),
a request level config clones the agent level config.
There are two ways of getting a request level config.
§Request builder example
The first way is via RequestBuilder::config().
use ureq::Agent;
let agent: Agent = Agent::config_builder()
.https_only(false)
.build()
.into();
let response = agent.get("http://httpbin.org/get")
.config()
// override agent level setting for this request
.https_only(true)
.build()
.call();§HTTP request example
The second way is via Agent::configure_request().
This is used when working with the http crate http::Request type directly.
use ureq::Agent;
let agent: Agent = Agent::config_builder()
.https_only(false)
.build()
.into();
let request = http::Request::get("http://httpbin.org/get")
.body(()).unwrap();
let request = agent.configure_request(request)
// override agent level setting for this request
.https_only(true)
.build();
let response = agent.run(request);Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Config
impl !RefUnwindSafe for Config
impl Send for Config
impl Sync for Config
impl Unpin for Config
impl !UnwindSafe for Config
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)