Struct surf_cookie_middleware::CookieMiddleware[][src]

pub struct CookieMiddleware { /* fields omitted */ }
Expand description

A middleware for sending received cookies in surf

File system persistence

This middleware can optionally be constructed with a file or path to enable writing “persistent cookies” to disk after every received response.

Cloning semantics

All clones of this middleware will refer to the same data and fd (if persistence is enabled).

Usage example

use surf::Client;
use surf_cookie_middleware::CookieMiddleware;
let client = Client::new().with(CookieMiddleware::new());
// client.get(...).await?;
// client.get(...).await?; <- this request will send any appropriate
//                            cookies received from the first request,
//                            based on request url

Implementations

Builds a new CookieMiddleware

Example

use surf_cookie_middleware::CookieMiddleware;

let client = surf::Client::new().with(CookieMiddleware::new());

// client.get(...).await?;
// client.get(...).await?; <- this request will send any appropriate
//                            cookies received from the first request,
//                            based on request url

Builds a CookieMiddleware with an existing cookie_store::CookieStore

Example

use surf_cookie_middleware::{CookieStore, CookieMiddleware};

let cookie_store = CookieStore::default();
let client = surf::Client::new()
    .with(CookieMiddleware::with_cookie_store(cookie_store));

Builds a CookieMiddleware from a path to a filesystem cookie jar. These jars are stored in ndjson format. If the file does not exist, it will be created. If the file does exist, the cookie jar will be initialized with those cookies.

Currently this only persists “persistent cookies” – cookies with an expiry. “Session cookies” (without an expiry) are not persisted to disk, nor are expired cookies.

Example

use surf_cookie_middleware::{CookieStore, CookieMiddleware};

let cookie_store = CookieStore::default();
let client = surf::Client::new()
    .with(CookieMiddleware::from_path("./cookies.ndjson").await?);

Builds a CookieMiddleware from a File (either async_std::fs::File or std::fs::File) that represents a filesystem cookie jar. These jars are stored in ndjson format. The cookie jar will be initialized with any cookies contained in this file, and persisted to the file after every request.

Currently this only persists “persistent cookies” – cookies with an expiry. “Session cookies” (without an expiry) are not persisted to disk, nor are expired cookies.

Example

use surf::Client;
use surf_cookie_middleware::{CookieStore, CookieMiddleware};
let cookie_store = CookieStore::default();
let file = std::fs::File::create("./cookies.ndjson")?;
let client = Client::new()
    .with(CookieMiddleware::from_file(file).await?);

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Asynchronously handle the request, and return a response.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

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

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

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

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

Performs the conversion.

Should always be Self

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

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

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

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

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