pub struct RequestBuilder<'r, B: 'r, E: 'r> { /* private fields */ }
Expand description
请求构建器
通过 HttpClient::get
, HttpClient::post
等方法创建请求构建器
Implementations§
Source§impl<'r, B: 'r, E: 'r> RequestBuilder<'r, B, E>
impl<'r, B: 'r, E: 'r> RequestBuilder<'r, B, E>
Sourcepub fn set_header(
&mut self,
header_name: impl IntoHeaderName,
header_value: impl Into<HeaderValue>,
) -> &mut Self
pub fn set_header( &mut self, header_name: impl IntoHeaderName, header_value: impl Into<HeaderValue>, ) -> &mut Self
添加 HTTP 请求头
Sourcepub fn accept_json(&mut self) -> &mut Self
pub fn accept_json(&mut self) -> &mut Self
设置 HTTP 响应预期为 JSON 类型
Sourcepub fn accept_application_octet_stream(&mut self) -> &mut Self
pub fn accept_application_octet_stream(&mut self) -> &mut Self
设置 HTTP 响应预期为二进制流类型
Sourcepub fn query_pairs(
&mut self,
query_pairs: impl Into<Vec<QueryPair<'r>>>,
) -> &mut Self
pub fn query_pairs( &mut self, query_pairs: impl Into<Vec<QueryPair<'r>>>, ) -> &mut Self
设置查询参数
Sourcepub fn append_query_pair(
&mut self,
query_pair_key: impl Into<QueryPairKey<'r>>,
query_pair_value: impl Into<QueryPairValue<'r>>,
) -> &mut Self
pub fn append_query_pair( &mut self, query_pair_key: impl Into<QueryPairKey<'r>>, query_pair_value: impl Into<QueryPairValue<'r>>, ) -> &mut Self
追加查询参数
Sourcepub fn appended_user_agent(
&mut self,
user_agent: impl Into<UserAgent>,
) -> &mut Self
pub fn appended_user_agent( &mut self, user_agent: impl Into<UserAgent>, ) -> &mut Self
追加 UserAgent
设置鉴权签名
Sourcepub fn idempotent(&mut self, idempotent: Idempotent) -> &mut Self
pub fn idempotent(&mut self, idempotent: Idempotent) -> &mut Self
设置为幂等请求
Sourcepub fn extensions(&mut self, extensions: Extensions) -> &mut Self
pub fn extensions(&mut self, extensions: Extensions) -> &mut Self
设置扩展信息
Sourcepub fn add_extension<T: Send + Sync + 'static>(&mut self, val: T) -> &mut Self
pub fn add_extension<T: Send + Sync + 'static>(&mut self, val: T) -> &mut Self
添加扩展信息
Sourcepub fn on_uploading_progress(
&mut self,
callback: impl Fn(&dyn SimplifiedCallbackContext, TransferProgressInfo<'_>) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_uploading_progress( &mut self, callback: impl Fn(&dyn SimplifiedCallbackContext, TransferProgressInfo<'_>) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置上传进度回调函数
Sourcepub fn on_receive_response_status(
&mut self,
callback: impl Fn(&dyn SimplifiedCallbackContext, StatusCode) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_receive_response_status( &mut self, callback: impl Fn(&dyn SimplifiedCallbackContext, StatusCode) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置响应状态码回调函数
Sourcepub fn on_receive_response_header(
&mut self,
callback: impl Fn(&dyn SimplifiedCallbackContext, &HeaderName, &HeaderValue) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_receive_response_header( &mut self, callback: impl Fn(&dyn SimplifiedCallbackContext, &HeaderName, &HeaderValue) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置响应 HTTP 头回调函数
Sourcepub fn on_to_resolve_domain(
&mut self,
callback: impl Fn(&mut dyn CallbackContext, &str) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_to_resolve_domain( &mut self, callback: impl Fn(&mut dyn CallbackContext, &str) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置域名解析前回调函数
Sourcepub fn on_domain_resolved(
&mut self,
callback: impl Fn(&mut dyn CallbackContext, &str, &ResolveAnswers) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_domain_resolved( &mut self, callback: impl Fn(&mut dyn CallbackContext, &str, &ResolveAnswers) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置域名解析成功回调函数
Sourcepub fn on_to_choose_ips(
&mut self,
callback: impl Fn(&mut dyn CallbackContext, &[IpAddrWithPort]) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_to_choose_ips( &mut self, callback: impl Fn(&mut dyn CallbackContext, &[IpAddrWithPort]) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置 IP 地址选择前回调函数
Sourcepub fn on_ips_chosen(
&mut self,
callback: impl Fn(&mut dyn CallbackContext, &[IpAddrWithPort], &[IpAddrWithPort]) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_ips_chosen( &mut self, callback: impl Fn(&mut dyn CallbackContext, &[IpAddrWithPort], &[IpAddrWithPort]) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置 IP 地址选择成功回调函数
Sourcepub fn on_before_request_signed(
&mut self,
callback: impl Fn(&mut dyn ExtendedCallbackContext) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_before_request_signed( &mut self, callback: impl Fn(&mut dyn ExtendedCallbackContext) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置 HTTP 请求签名前回调函数
Sourcepub fn on_after_request_signed(
&mut self,
callback: impl Fn(&mut dyn ExtendedCallbackContext) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_after_request_signed( &mut self, callback: impl Fn(&mut dyn ExtendedCallbackContext) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置 HTTP 请求前回调函数
Sourcepub fn on_response(
&mut self,
callback: impl Fn(&mut dyn ExtendedCallbackContext, &ResponseParts) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_response( &mut self, callback: impl Fn(&mut dyn ExtendedCallbackContext, &ResponseParts) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置响应成功回调函数
Sourcepub fn on_error(
&mut self,
callback: impl Fn(&mut dyn ExtendedCallbackContext, &mut ResponseError) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_error( &mut self, callback: impl Fn(&mut dyn ExtendedCallbackContext, &mut ResponseError) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置响应错误回调函数
Sourcepub fn on_before_backoff(
&mut self,
callback: impl Fn(&mut dyn ExtendedCallbackContext, Duration) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_before_backoff( &mut self, callback: impl Fn(&mut dyn ExtendedCallbackContext, Duration) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置退避前回调函数
Sourcepub fn on_after_backoff(
&mut self,
callback: impl Fn(&mut dyn ExtendedCallbackContext, Duration) -> AnyResult<()> + Send + Sync + 'r,
) -> &mut Self
pub fn on_after_backoff( &mut self, callback: impl Fn(&mut dyn ExtendedCallbackContext, Duration) -> AnyResult<()> + Send + Sync + 'r, ) -> &mut Self
设置退避后回调函数
Sourcepub fn parts(&self) -> &RequestBuilderParts<'r>
pub fn parts(&self) -> &RequestBuilderParts<'r>
获取 HTTP 请求构建器部分参数
Sourcepub fn parts_mut(&mut self) -> &mut RequestBuilderParts<'r>
pub fn parts_mut(&mut self) -> &mut RequestBuilderParts<'r>
获取 HTTP 请求构建器部分参数的可变引用
Sourcepub fn into_parts(self) -> RequestBuilderParts<'r>
pub fn into_parts(self) -> RequestBuilderParts<'r>
转换为 HTTP 请求构建器部分参数
Source§impl<'r, E: 'r> RequestBuilder<'r, RequestBody<'r>, E>
impl<'r, E: 'r> RequestBuilder<'r, RequestBody<'r>, E>
Sourcepub fn stream_as_body(
&mut self,
body: impl Read + Reset + Debug + Send + Sync + 'static,
content_length: u64,
content_type: Option<Mime>,
) -> &mut Self
pub fn stream_as_body( &mut self, body: impl Read + Reset + Debug + Send + Sync + 'static, content_length: u64, content_type: Option<Mime>, ) -> &mut Self
设置 HTTP 请求体为输入流
Sourcepub fn referenced_stream_as_body<T: Read + Reset + Debug + Send + Sync>(
&mut self,
body: &'r mut T,
content_length: u64,
content_type: Option<Mime>,
) -> &mut Self
pub fn referenced_stream_as_body<T: Read + Reset + Debug + Send + Sync>( &mut self, body: &'r mut T, content_length: u64, content_type: Option<Mime>, ) -> &mut Self
设置 HTTP 请求体为输入流的可变引用
Sourcepub fn bytes_as_body(
&mut self,
body: impl Into<Vec<u8>>,
content_type: Option<Mime>,
) -> &mut Self
pub fn bytes_as_body( &mut self, body: impl Into<Vec<u8>>, content_type: Option<Mime>, ) -> &mut Self
设置 HTTP 请求体为内存数据
Sourcepub fn referenced_bytes_as_body(
&mut self,
body: &'r [u8],
content_type: Option<Mime>,
) -> &mut Self
pub fn referenced_bytes_as_body( &mut self, body: &'r [u8], content_type: Option<Mime>, ) -> &mut Self
设置 HTTP 请求体为内存数据的引用
Sourcepub fn json(&mut self, body: impl Serialize) -> JsonResult<&mut Self>
pub fn json(&mut self, body: impl Serialize) -> JsonResult<&mut Self>
设置 HTTP 请求体为 JSON 对象
Sourcepub fn multipart<'a>(
&mut self,
multipart: impl Into<SyncMultipart<'a>>,
) -> IoResult<&mut Self>
pub fn multipart<'a>( &mut self, multipart: impl Into<SyncMultipart<'a>>, ) -> IoResult<&mut Self>
设置 HTTP 请求体为 Multipart 表单对象
Source§impl<'r, E: EndpointsProvider + Clone + 'r> RequestBuilder<'r, RequestBody<'r>, E>
impl<'r, E: EndpointsProvider + Clone + 'r> RequestBuilder<'r, RequestBody<'r>, E>
Sourcepub fn call(&mut self) -> ApiResult<SyncResponse>
pub fn call(&mut self) -> ApiResult<SyncResponse>
阻塞发起 HTTP 请求
Source§impl<'r, E: 'r> RequestBuilder<'r, AsyncRequestBody<'r>, E>
impl<'r, E: 'r> RequestBuilder<'r, AsyncRequestBody<'r>, E>
Sourcepub fn stream_as_body(
&mut self,
body: impl AsyncRead + AsyncReset + Unpin + Debug + Send + Sync + 'static,
content_length: u64,
content_type: Option<Mime>,
) -> &mut Self
pub fn stream_as_body( &mut self, body: impl AsyncRead + AsyncReset + Unpin + Debug + Send + Sync + 'static, content_length: u64, content_type: Option<Mime>, ) -> &mut Self
设置 HTTP 请求体为异步输入流
Sourcepub fn referenced_stream_as_body<T: AsyncRead + AsyncReset + Unpin + Debug + Send + Sync>(
&mut self,
body: &'r mut T,
content_length: u64,
content_type: Option<Mime>,
) -> &mut Self
pub fn referenced_stream_as_body<T: AsyncRead + AsyncReset + Unpin + Debug + Send + Sync>( &mut self, body: &'r mut T, content_length: u64, content_type: Option<Mime>, ) -> &mut Self
设置 HTTP 请求体为异步输入流的可变引用
Sourcepub fn bytes_as_body(
&mut self,
body: impl Into<Vec<u8>>,
content_type: Option<Mime>,
) -> &mut Self
pub fn bytes_as_body( &mut self, body: impl Into<Vec<u8>>, content_type: Option<Mime>, ) -> &mut Self
设置 HTTP 请求体为内存数据
Sourcepub fn referenced_bytes_as_body(
&mut self,
body: &'r [u8],
content_type: Option<Mime>,
) -> &mut Self
pub fn referenced_bytes_as_body( &mut self, body: &'r [u8], content_type: Option<Mime>, ) -> &mut Self
设置 HTTP 请求体为内存数据的引用
Sourcepub fn json(&mut self, body: impl Serialize) -> JsonResult<&mut Self>
pub fn json(&mut self, body: impl Serialize) -> JsonResult<&mut Self>
设置 HTTP 请求体为 JSON 对象
Sourcepub async fn multipart<'a>(
&mut self,
multipart: impl Into<AsyncMultipart<'a>>,
) -> IoResult<&mut RequestBuilder<'r, AsyncRequestBody<'r>, E>>
pub async fn multipart<'a>( &mut self, multipart: impl Into<AsyncMultipart<'a>>, ) -> IoResult<&mut RequestBuilder<'r, AsyncRequestBody<'r>, E>>
设置 HTTP 请求体为 Multipart 表单对象
Source§impl<'r, E: EndpointsProvider + Clone + 'r> RequestBuilder<'r, AsyncRequestBody<'r>, E>
impl<'r, E: EndpointsProvider + Clone + 'r> RequestBuilder<'r, AsyncRequestBody<'r>, E>
Sourcepub async fn call(&mut self) -> ApiResult<AsyncResponse>
pub async fn call(&mut self) -> ApiResult<AsyncResponse>
异步发起 HTTP 请求
Trait Implementations§
Auto Trait Implementations§
impl<'r, B, E> Freeze for RequestBuilder<'r, B, E>
impl<'r, B, E> !RefUnwindSafe for RequestBuilder<'r, B, E>
impl<'r, B, E> Send for RequestBuilder<'r, B, E>
impl<'r, B, E> Sync for RequestBuilder<'r, B, E>
impl<'r, B, E> Unpin for RequestBuilder<'r, B, E>
impl<'r, B, E> !UnwindSafe for RequestBuilder<'r, B, E>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.