[][src]Struct mio_httpc::CallBuilder

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 event_token(&mut self, p: [usize; 2]) -> &mut Self[src]

Specifically set mio token IDs for call. Must be outside of token range specified im Httpc::new Two tokens are required becase when initiating connection both ipv4 and ipv6 connections are attempted. First one to connect wins and the other one is closed.

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 percent 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 percent encoded. If part contains /, it will be percent 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 percent 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 percent 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]

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 can grow. HTTP response headers are always stored in internal buffer. HTTP response body is stored in internal buffer if no external buffer is provided.

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 Default for CallBuilder[src]

impl Debug for CallBuilder[src]

Auto Trait Implementations

impl Send for CallBuilder

impl Sync for CallBuilder

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]