Struct qiniu_http_client::RegionBuilder
source · pub struct RegionBuilder { /* private fields */ }
Expand description
区域构建器
use qiniu_http_client::RegionBuilder;
let region = RegionBuilder::new("z0")
.add_uc_preferred_endpoint("10.11.0.178:10221".parse()?) // 添加一个终端地址
.add_uc_preferred_endpoint("10.11.0.180:10221".parse()?)
.add_up_preferred_endpoint("10.11.0.178:5010".parse()?)
.add_up_preferred_endpoint("10.11.0.180:5010".parse()?)
.add_io_preferred_endpoint("10.11.0.178:5000".parse()?)
.add_io_preferred_endpoint("10.11.0.180:5000".parse()?)
.add_rs_preferred_endpoints(["10.11.0.178:9433".parse()?, "10.11.0.180:9433".parse()?]) // 添加多个终端地址
.add_rsf_preferred_endpoints(["10.11.0.178:7913".parse()?, "10.11.0.180:7913".parse()?])
.build();
Implementations§
source§impl RegionBuilder
impl RegionBuilder
sourcepub fn s3_region_id(&mut self, s3_region_id: impl Into<String>) -> &mut Self
pub fn s3_region_id(&mut self, s3_region_id: impl Into<String>) -> &mut Self
设置 S3 区域 ID
Examples found in repository?
src/regions/regions_provider/structs.rs (line 95)
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
fn try_from(body: RegionResponseBody) -> Result<Self, Self::Error> {
let RegionResponseBody {
region,
io,
up,
uc,
rs,
rsf,
api,
s3,
..
} = body;
let mut builder = Self::builder(region);
macro_rules! push_to_builder {
($service_name:expr, $add_to_preferred_endpoint:ident, $add_to_alternative_endpoint:ident) => {
for preferred_domain in $service_name.preferred.iter() {
let endpoint: Endpoint = preferred_domain.as_ref().parse()?;
builder.$add_to_preferred_endpoint(endpoint);
}
if let Some(alternative_domains) = &$service_name.alternative {
for alternative_domain in alternative_domains.iter() {
let endpoint: Endpoint = alternative_domain.as_ref().parse()?;
builder.$add_to_alternative_endpoint(endpoint);
}
}
};
}
push_to_builder!(io, add_io_preferred_endpoint, add_io_alternative_endpoint);
push_to_builder!(up, add_up_preferred_endpoint, add_up_alternative_endpoint);
push_to_builder!(uc, add_uc_preferred_endpoint, add_uc_alternative_endpoint);
push_to_builder!(rs, add_rs_preferred_endpoint, add_rs_alternative_endpoint);
push_to_builder!(rsf, add_rsf_preferred_endpoint, add_rsf_alternative_endpoint);
push_to_builder!(api, add_api_preferred_endpoint, add_api_alternative_endpoint);
push_to_builder!(s3, add_s3_preferred_endpoint, add_s3_alternative_endpoint);
if let Some(s3_region_id) = s3.s3_region_id {
builder.s3_region_id(s3_region_id);
}
Ok(builder.build())
}
sourcepub fn add_up_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_up_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到上传服务主要终端地址列表
sourcepub fn add_up_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_up_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到上传服务主要终端地址列表
sourcepub fn add_up_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_up_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到上传服务备选终端地址列表
sourcepub fn add_up_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_up_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到上传服务备选终端地址列表
sourcepub fn add_io_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_io_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到下载服务主要终端地址列表
sourcepub fn add_io_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_io_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到下载服务主要终端地址列表
sourcepub fn add_io_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_io_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到下载服务备选终端地址列表
sourcepub fn add_io_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_io_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到下载服务备选终端地址列表
sourcepub fn add_uc_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_uc_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到存储空间管理服务主要终端地址列表
sourcepub fn add_uc_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_uc_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到存储空间管理服务主要终端地址列表
sourcepub fn add_uc_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_uc_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到存储空间管理服务备选终端地址列表
sourcepub fn add_uc_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_uc_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到存储空间管理服务备选终端地址列表
sourcepub fn add_rs_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_rs_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到元数据管理服务主要终端地址列表
sourcepub fn add_rs_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_rs_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到元数据管理服务主要终端地址列表
sourcepub fn add_rs_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_rs_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到元数据管理服务备选终端地址列表
sourcepub fn add_rs_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_rs_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到元数据管理服务备选终端地址列表
sourcepub fn add_rsf_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_rsf_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到元数据列举服务主要终端地址列表
sourcepub fn add_rsf_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_rsf_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到元数据列举服务主要终端地址列表
sourcepub fn add_rsf_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_rsf_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到元数据列举服务备选终端地址列表
sourcepub fn add_rsf_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_rsf_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到元数据列举服务备选终端地址列表
sourcepub fn add_api_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_api_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到 API 入口服务主要终端地址列表
sourcepub fn add_api_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_api_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到 API 入口服务主要终端地址列表
sourcepub fn add_api_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_api_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到 API 入口服务备选终端地址列表
sourcepub fn add_api_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_api_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到 API 入口服务备选终端地址列表
sourcepub fn add_s3_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_s3_preferred_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到 S3 入口服务主要终端地址列表
sourcepub fn add_s3_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_s3_preferred_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到 S3 入口服务主要终端地址列表
sourcepub fn add_s3_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
pub fn add_s3_alternative_endpoint(&mut self, endpoint: Endpoint) -> &mut Self
添加访问终端地址到 S3 入口服务备选终端地址列表
sourcepub fn add_s3_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
pub fn add_s3_alternative_endpoints(
&mut self,
endpoints: impl IntoIterator<Item = Endpoint>
) -> &mut Self
添加多个访问终端地址到 S3 入口服务备选终端地址列表
sourcepub fn build(&mut self) -> Region
pub fn build(&mut self) -> Region
构建区域
Examples found in repository?
src/regions/regions_provider/structs.rs (line 98)
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
fn try_from(body: RegionResponseBody) -> Result<Self, Self::Error> {
let RegionResponseBody {
region,
io,
up,
uc,
rs,
rsf,
api,
s3,
..
} = body;
let mut builder = Self::builder(region);
macro_rules! push_to_builder {
($service_name:expr, $add_to_preferred_endpoint:ident, $add_to_alternative_endpoint:ident) => {
for preferred_domain in $service_name.preferred.iter() {
let endpoint: Endpoint = preferred_domain.as_ref().parse()?;
builder.$add_to_preferred_endpoint(endpoint);
}
if let Some(alternative_domains) = &$service_name.alternative {
for alternative_domain in alternative_domains.iter() {
let endpoint: Endpoint = alternative_domain.as_ref().parse()?;
builder.$add_to_alternative_endpoint(endpoint);
}
}
};
}
push_to_builder!(io, add_io_preferred_endpoint, add_io_alternative_endpoint);
push_to_builder!(up, add_up_preferred_endpoint, add_up_alternative_endpoint);
push_to_builder!(uc, add_uc_preferred_endpoint, add_uc_alternative_endpoint);
push_to_builder!(rs, add_rs_preferred_endpoint, add_rs_alternative_endpoint);
push_to_builder!(rsf, add_rsf_preferred_endpoint, add_rsf_alternative_endpoint);
push_to_builder!(api, add_api_preferred_endpoint, add_api_alternative_endpoint);
push_to_builder!(s3, add_s3_preferred_endpoint, add_s3_alternative_endpoint);
if let Some(s3_region_id) = s3.s3_region_id {
builder.s3_region_id(s3_region_id);
}
Ok(builder.build())
}
Trait Implementations§
source§impl Clone for RegionBuilder
impl Clone for RegionBuilder
source§fn clone(&self) -> RegionBuilder
fn clone(&self) -> RegionBuilder
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for RegionBuilder
impl Debug for RegionBuilder
source§impl Default for RegionBuilder
impl Default for RegionBuilder
source§fn default() -> RegionBuilder
fn default() -> RegionBuilder
Returns the “default value” for a type. Read more
source§impl PartialEq<RegionBuilder> for RegionBuilder
impl PartialEq<RegionBuilder> for RegionBuilder
source§fn eq(&self, other: &RegionBuilder) -> bool
fn eq(&self, other: &RegionBuilder) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Eq for RegionBuilder
impl StructuralEq for RegionBuilder
impl StructuralPartialEq for RegionBuilder
Auto Trait Implementations§
impl RefUnwindSafe for RegionBuilder
impl Send for RegionBuilder
impl Sync for RegionBuilder
impl Unpin for RegionBuilder
impl UnwindSafe for RegionBuilder
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.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> 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) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
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) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
Mutably borrows
self
, then passes self.as_mut()
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)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Immutable access to the
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Mutable access to the
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Immutable access to the
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Mutable access to the
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
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)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
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)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
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)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
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)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.