Struct mio_httpc::CallBuilder
source · pub struct CallBuilder { /* private fields */ }
Expand description
Used to start a call and get a Call for it.
Implementations
sourceimpl CallBuilder
impl CallBuilder
CallBuilder constructs a call. It is finished after calling: exec, simple_call, call or websocket.
Some headers are set automatically unless set explicitly: user-agent, connection, host, auth, content-length
If you’re only executing a one-off call you should set connection header to close as default is keep-alive.
If you do not set body, but do set content-length, it will wait for send body to be provided through Httpc::call_send. You must use a streaming interface in this case and can not use SimpleCall.
pub fn new() -> CallBuilder
sourcepub fn get() -> CallBuilder
pub fn get() -> CallBuilder
Start a GET request.
sourcepub fn post(body: Vec<u8>) -> CallBuilder
pub fn post(body: Vec<u8>) -> CallBuilder
Start a POST request.
sourcepub fn put(body: Vec<u8>) -> CallBuilder
pub fn put(body: Vec<u8>) -> CallBuilder
Start a PUT request.
sourcepub fn delete() -> CallBuilder
pub fn delete() -> CallBuilder
Start a DELETE request.
sourcepub fn options() -> CallBuilder
pub fn options() -> CallBuilder
Start an OPTIONS request.
sourcepub fn head() -> CallBuilder
pub fn head() -> CallBuilder
Start a HEAD request.
sourcepub fn method(&mut self, m: &str) -> &mut Self
pub fn method(&mut self, m: &str) -> &mut Self
Set method: “GET”, “POST”, “PUT”, “OPTIONS”, “DELETE” or “HEAD”
sourcepub fn https(&mut self) -> &mut Self
pub fn https(&mut self) -> &mut Self
Default: http
Use https for call. Shorthand for set_https(true)
sourcepub fn host(&mut self, s: &str) -> &mut Self
pub fn host(&mut self, s: &str) -> &mut Self
Set host where to connect to. It can be a domain or IP address.
sourcepub fn event_token(&mut self, p: usize) -> &mut Self
pub fn event_token(&mut self, p: usize) -> &mut Self
Specifically set token for call. Must be outside of token range specified im Httpc::new
sourcepub fn auth(&mut self, us: &str, pw: &str) -> &mut Self
pub fn auth(&mut self, us: &str, pw: &str) -> &mut Self
Use http authentication with username and password.
sourcepub fn path(&mut self, inpath: &str) -> &mut Self
pub fn path(&mut self, inpath: &str) -> &mut Self
Set full path. No percent encoding is done. Will fail later if it contains invalid characters.
sourcepub fn path_segm(&mut self, segm: &str) -> &mut Self
pub fn path_segm(&mut self, segm: &str) -> &mut Self
Add a single segment of path. Parts are delimited by / which are added automatically. Any path unsafe characters are percent encoded. If part contains /, it will be percent encoded!
sourcepub fn path_segms(&mut self, parts: &[&str]) -> &mut Self
pub fn path_segms(&mut self, parts: &[&str]) -> &mut Self
Add multiple segments in one go.
sourcepub fn query(&mut self, k: &str, v: &str) -> &mut Self
pub fn query(&mut self, k: &str, v: &str) -> &mut Self
Add a key-value pair to query. Any url unsafe characters are percent encoded.
sourcepub fn query_list(&mut self, kvl: &[(&str, &str)]) -> &mut Self
pub fn query_list(&mut self, kvl: &[(&str, &str)]) -> &mut Self
Add multiple key-value pars in one go.
sourcepub fn url(&mut self, url: &str) -> Result<&mut Self>
pub fn url(&mut self, url: &str) -> Result<&mut Self>
Set full URL. If not valid it will return error. Be mindful of characters that need to be percent encoded. Using https, path_segm, query and auth functions to construct URL is much safer as those encode data automatically.
sourcepub fn header(&mut self, key: &str, value: &str) -> &mut CallBuilder
pub fn header(&mut self, key: &str, value: &str) -> &mut CallBuilder
Set HTTP header.
sourcepub fn exec(&mut self) -> Result<(Response, Vec<u8>)>
pub fn exec(&mut self) -> Result<(Response, Vec<u8>)>
Execute directly. This will block until completion!
sourcepub fn simple_call(
&mut self,
httpc: &mut Httpc,
poll: &Poll
) -> Result<SimpleCall>
pub fn simple_call(
&mut self,
httpc: &mut Httpc,
poll: &Poll
) -> Result<SimpleCall>
Consume and execute HTTP call. Returns SimpleCall interface. CallBuilder is invalid after this call and will panic if used again.
sourcepub fn call(&mut self, httpc: &mut Httpc, poll: &Poll) -> Result<Call>
pub fn call(&mut self, httpc: &mut Httpc, poll: &Poll) -> Result<Call>
Consume and execute HTTP call. Return low level streaming call interface. CallBuilder is invalid after this call and will panic if used again.
sourcepub fn websocket(&mut self, httpc: &mut Httpc, poll: &Poll) -> Result<WebSocket>
pub fn websocket(&mut self, httpc: &mut Httpc, poll: &Poll) -> Result<WebSocket>
Consume and start a WebSocket CallBuilder is invalid after this call and will panic if used again.
sourcepub fn max_response(&mut self, m: usize) -> &mut Self
pub fn max_response(&mut self, m: usize) -> &mut Self
Default 10MB.
This will limit how big the internal Vec
For WebSockets this will also be a received fragment size limit!
sourcepub fn dns_retry_ms(&mut self, n: u64) -> &mut Self
pub fn dns_retry_ms(&mut self, n: u64) -> &mut Self
Default: 100ms
Starting point of dns packet resends if nothing received. Every next resend timeout is 2x the previous one but stops at 1s. Make sure to call Httpc::timeout! So for 100ms: 100ms, 200ms, 400ms, 800ms, 1000ms, 1000ms…
sourcepub fn chunked_parse(&mut self, b: bool) -> &mut Self
pub fn chunked_parse(&mut self, b: bool) -> &mut Self
Default true.
Configurable because it entails copying the data stream.
sourcepub fn chunked_max_chunk(&mut self, v: usize) -> &mut Self
pub fn chunked_max_chunk(&mut self, v: usize) -> &mut Self
Default 32K
Max size of chunk in a chunked transfer.
sourcepub fn timeout_ms(&mut self, d: u64) -> &mut Self
pub fn timeout_ms(&mut self, d: u64) -> &mut Self
Default 60s
Maximum amount of time a call should last. Make sure to call Httpc::timeout!
sourcepub fn max_redirects(&mut self, v: u8) -> &mut Self
pub fn max_redirects(&mut self, v: u8) -> &mut Self
Default 4.
How many redirects to follow. 0 to disable following redirects.
sourcepub fn gzip(&mut self, b: bool) -> &mut Self
pub fn gzip(&mut self, b: bool) -> &mut Self
Default true.
Tell server to gzip response and unzip transparently before returning body to client.
sourcepub fn insecure_do_not_verify_domain(&mut self) -> &mut Self
pub fn insecure_do_not_verify_domain(&mut self) -> &mut Self
Default secure.
Turn off domain verification over ssl. This should only be used when testing as you are throwing away a big part of ssl security.
sourcepub fn digest_auth(&mut self, v: bool) -> &mut Self
pub fn digest_auth(&mut self, v: bool) -> &mut Self
Use digest authentication. If you know server is using digest auth you REALLY should set it to true. If server is using basic authentication and you set digest_auth to true, mio_httpc will retry with basic. If not set, basic auth is assumed which is very insecure.