Struct dyer::component::task::TaskBuilder [−][src]
pub struct TaskBuilder { /* fields omitted */ }
Expand description
An Wrapper of http::request::Builder
Serve as an medium to create an instance of Task
This type can be used to construct an instance or Request
through a builder-like pattern.
Implementations
Create an instance of TaskBuilder
that used to build a Task
Same as Task::builder()
Examples
let task = TaskBuilder::new()
.method("GET")
.uri("https://example.com/")
.header("accept", "*/*")
.parser(parser_fn)
.body(());
set the uri of Task
, if not called, the default value is “/”
Examples
let task = TaskBuilder::new()
.uri("https://example.com")
.parser(parser_fn)
.body(());
get shared reference to uri of TaskBuilder
Same as Task::uri(...)
Examples
let uri = "https://example.com";
let task = TaskBuilder::new()
.uri(uri)
.parser(parser_fn)
.body(());
assert_eq!(task.uri_ref(), uri);
set the method of Task
Examples
let method = Method::POST;
let task = TaskBuilder::new()
.method(method)
.parser(parser_fn)
.body(());
assert_eq!(task.method_ref(), method);
get shared reference to method of TaskBuilder
Same as Task::method(...)
Examples
let method = Method::POST;
let task = TaskBuilder::new()
.method(method)
.parser(parser_fn)
.body(());
assert_eq!(task.method_ref(), method);
get shared reference to header of TaskBuilder
Same as Task::headers(...)
Examples
let task = TaskBuilder::new()
.header("accept", "*/*")
.parser(parser_fn)
.body(());
assert_eq!(task.header_ref()["accept"], "*/*");
get mutable reference to header of TaskBuilder
Examples
let task = TaskBuilder::new()
.header("accept", "*/*")
.parser(parser_fn)
.body(());
task.header_mut().insert("accept", "text/html");
assert_eq!(task.header_ref()["accept"], "text/html");
pub fn header<K, V>(self, key: K, value: V) -> Self where
HeaderName: TryFrom<K>,
<HeaderName as TryFrom<K>>::Error: Into<Error>,
HeaderValue: TryFrom<V>,
<HeaderValue as TryFrom<V>>::Error: Into<Error>,
pub fn header<K, V>(self, key: K, value: V) -> Self where
HeaderName: TryFrom<K>,
<HeaderName as TryFrom<K>>::Error: Into<Error>,
HeaderValue: TryFrom<V>,
<HeaderValue as TryFrom<V>>::Error: Into<Error>,
set the headers of Task
Examples
let task = TaskBuilder::new()
.header("accept", "*/*")
.parser(parser_fn)
.body(());
assert_eq!(task.header_ref()["accept"], "*/*");
set the version of Task
Examples
let task = TaskBuilder::new()
.version(Version::HTTP_10)
.parser(parser_fn)
.body(());
assert_eq!(task.version_ref(), Version::HTTP_10);
get shared reference to version of TaskBuilder
Same as Task::version(...)
Examples
let version = Version::HTTP_10;
let task = TaskBuilder::new()
.version(version)
.parser(parser_fn)
.body(());
assert_eq!(task.version_ref(), version);
get shared reference to exts of TaskBuilder
Same as Task::exts(...)
Examples
struct S {}
let task = TaskBuilder::new()
.parser(parser_fn)
.body(());
let s = S {};
task.exts_mut.insert(s);
assert_eq!(task.exts_ref().get::<S>(), &s);
get mutable reference to exts of TaskBuilder
Examples
let task = TaskBuilder::new()
.parser(parser_fn)
.body(());
task.exts_mut().insert(vec![1,2,3]);
assert_eq!(task.exts_ref().get::<Vec<_>>(), vec![1,2,3]);
set the exts of Task
Examples
let task = TaskBuilder::new()
.exts(vec![1,2,3])
.parser(parser_fn)
.body(());
assert_eq!(task.exts_ref(), &vec![1,2,3]);
get shared reference to extensions of Task
Examples
struct S {}
let task = TaskBuilder::new()
.parser(parser_fn)
.body(());
assert!(task.extensions().get::<S>().is_none());
set the extensions of Task
Examples
let task = TaskBuilder::new()
.extensions(vec![1,2,3])
.parser(parser_fn)
.body(());
assert_eq!(task.extensions_ref(), &vec![1,2,3]);
get shared reference to parser of Task
Same as Task::parser(...)
Examples
let task = Task::builder()
.parser(parser_fn)
.body(());
assert_eq!(*task.parser_ref(), parser_fn);
set the parser of Task
, Note that a task must has a parser before initialized!
Examples
fn parser_fn(_: Response ) -> Parsed<E,> { todo!() }
let task = TaskBuilder::new()
.parser(parser_fn)
.body(());
assert_eq!(*task.parser_ref(), parser_fn);
get shared reference to err_parser of Task
Same as Task::err_parser(...)
Examples
let task = Task::builder()
.parser(parser_fn)
.err_parser(err_parser_fn)
.body(());
assert_eq!(*task.err_parser_ref(), err_parser_fn);
set the err_parser of Task
,
Examples
fn err_parser_fn(_: Response ) -> Parsed<E,> { todo!() }
let task = TaskBuilder::new()
.err_parser(err_parser_fn)
.parser(parser_fn)
.body(());
assert_eq!(*task.err_parser_ref(), err_parser_fn);
get shared reference to info of Task
same as Task::info(...)
Examples
let task = Task::builder()
.parser(parser_fn)
.body(());
assert_eq!(task.info_ref().used, &0);
set the info of Task
Examples
let task = TaskBuilder::new()
.parser(parser_fn)
.body(());
task.info_mut().id = 18908209022;
assert_eq!(task.info_ref().id, 18908209022);
set the info of Task
Examples
let info = Info::default();
let task = TaskBuilder::new()
.info(info)
.parser(parser_fn)
.body(());
assert_eq!(task.info_ref(), &info);
Take this TaskBuilder
and combine the body to create a Task
Examples
let _ = TaskBuilder::new()
.parser(parser_fn)
.body(());
get shared reference to meta of Task
,
Examples
let task = Task::builder()
.parser(parser_fn)
.body(());
assert!(!task.meta_ref().is_empty());
Auto Trait Implementations
impl !RefUnwindSafe for TaskBuilder
impl !Send for TaskBuilder
impl !Sync for TaskBuilder
impl Unpin for TaskBuilder
impl !UnwindSafe for TaskBuilder
Blanket Implementations
Mutably borrows from an owned value. Read more
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
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