Struct mio_httpc::CallBuilder
[−]
[src]
pub struct CallBuilder { /* fields omitted */ }
Used to start a call and get a Call for it.
Methods
impl CallBuilder
[src]
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
[src]
pub fn get() -> CallBuilder
[src]
Start a GET request.
pub fn post(body: Vec<u8>) -> CallBuilder
[src]
Start a POST request.
pub fn put(body: Vec<u8>) -> CallBuilder
[src]
Start a PUT request.
pub fn delete() -> CallBuilder
[src]
Start a DELETE request.
pub fn options() -> CallBuilder
[src]
Start an OPTIONS request.
pub fn head() -> CallBuilder
[src]
Start a HEAD request.
pub fn method(&mut self, m: &str) -> &mut Self
[src]
Set method: "GET", "POST", "PUT", "OPTIONS", "DELETE" or "HEAD"
pub fn https(&mut self) -> &mut Self
[src]
Default: http Use https for call. Shorthand for set_https(true)
pub fn set_https(&mut self, v: bool) -> &mut Self
[src]
Default: false Use https for call.
pub fn host(&mut self, s: &str) -> &mut Self
[src]
Set host where to connect to. It can be a domain or IP address.
pub fn port(&mut self, p: u16) -> &mut Self
[src]
Set connection port.
pub fn auth(&mut self, us: &str, pw: &str) -> &mut Self
[src]
Use http authentication with username and password.
pub fn path(&mut self, inpath: &str) -> &mut Self
[src]
Set full path. No procent encoding is done. Will fail later if it contains invalid characters.
pub fn path_segm(&mut self, segm: &str) -> &mut Self
[src]
Add a single segment of path. Parts are delimited by / which are added automatically. Any path unsafe characters are procent encoded. If part contains /, it will be procent encoded!
pub fn path_segms(&mut self, parts: &[&str]) -> &mut Self
[src]
Add multiple segments in one go.
pub fn query(&mut self, k: &str, v: &str) -> &mut Self
[src]
Add a key-value pair to query. Any url unsafe characters are procent encoded.
pub fn query_list(&mut self, kvl: &[(&str, &str)]) -> &mut Self
[src]
Add multiple key-value pars in one go.
pub fn url(&mut self, url: &str) -> Result<&mut Self>
[src]
Set full URL. If not valid it will return error. Be mindful of characters that need to be procent encoded. Using https, path_segm, query and auth functions to construct URL is much safer as those encode data automatically.
pub fn body(&mut self, body: Vec<u8>) -> &mut Self
[src]
Set body.
pub fn header(&mut self, key: &str, value: &str) -> &mut CallBuilder
[src]
Set HTTP header.
pub fn exec(&mut self) -> Result<(Response, Vec<u8>)>
[src]
Execute directly. This will block until completion!
pub fn simple_call(
&mut self,
httpc: &mut Httpc,
poll: &Poll
) -> Result<SimpleCall>
[src]
&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.
pub fn call(&mut self, httpc: &mut Httpc, poll: &Poll) -> Result<Call>
[src]
Consume and execute HTTP call. Return low level streaming call interface. CallBuilder is invalid after this call and will panic if used again.
pub fn websocket(&mut self, httpc: &mut Httpc, poll: &Poll) -> Result<WebSocket>
[src]
Consume and start a WebSocket CallBuilder is invalid after this call and will panic if used again.
pub fn max_response(&mut self, m: usize) -> &mut Self
[src]
Default 10MB.
This will limit how big the internal Vec
For WebSockets this will also be a received fragment size limit!
pub fn dns_retry_ms(&mut self, n: u64) -> &mut Self
[src]
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...
pub fn chunked_parse(&mut self, b: bool) -> &mut Self
[src]
Default true.
Configurable because it entails copying the data stream.
pub fn chunked_max_chunk(&mut self, v: usize) -> &mut Self
[src]
Default 32K
Max size of chunk in a chunked transfer.
pub fn timeout_ms(&mut self, d: u64) -> &mut Self
[src]
Default 60s
Maximum amount of time a call should last. Make sure to call Httpc::timeout!
pub fn max_redirects(&mut self, v: u8) -> &mut Self
[src]
Default 4.
How many redirects to follow. 0 to disable following redirects.
pub fn gzip(&mut self, b: bool) -> &mut Self
[src]
Default true.
Tell server to gzip response and unzip transparently before returning body to client.
pub fn insecure_do_not_verify_domain(&mut self) -> &mut Self
[src]
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.
pub fn digest_auth(&mut self, v: bool) -> &mut Self
[src]
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.
pub fn get_url(&mut self) -> String
[src]
Return constructed URL.
Trait Implementations
impl Debug for CallBuilder
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl Default for CallBuilder
[src]
fn default() -> CallBuilder
[src]
Returns the "default value" for a type. Read more