Skip to content

Commit 84c4461

Browse files
Merge pull request #109 from chen-honggang/dev/uri-exception
允许独立配置IntranetAddr
2 parents b27ddb3 + be5e725 commit 84c4461

File tree

3 files changed

+34
-3
lines changed

3 files changed

+34
-3
lines changed

include/cos_config.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ class CosConfig {
2525
m_secret_key(""),
2626
m_region(""),
2727
m_tmp_token(""),
28+
m_is_use_intranet(false),
29+
m_intranet_addr(""),
2830
m_config_parsed(false) {}
2931

3032
/// \brief CosConfig构造函数
@@ -40,6 +42,8 @@ class CosConfig {
4042
m_secret_key(secret_key),
4143
m_region(region),
4244
m_tmp_token(""),
45+
m_is_use_intranet(false),
46+
m_intranet_addr(""),
4347
m_config_parsed(false) {}
4448

4549
/// \brief CosConfig构造函数
@@ -56,6 +60,8 @@ class CosConfig {
5660
m_secret_key(secret_key),
5761
m_region(region),
5862
m_tmp_token(tmp_token),
63+
m_is_use_intranet(false),
64+
m_intranet_addr(""),
5965
m_config_parsed(false) {}
6066

6167
/// \brief CosConfig复制构造函数
@@ -67,6 +73,8 @@ class CosConfig {
6773
m_secret_key = config.m_secret_key;
6874
m_region = config.m_region;
6975
m_tmp_token = config.m_tmp_token;
76+
m_is_use_intranet = config.m_is_use_intranet;
77+
m_intranet_addr = config.m_intranet_addr;
7078
m_config_parsed = config.m_config_parsed;
7179
}
7280

@@ -79,6 +87,8 @@ class CosConfig {
7987
m_secret_key = config.m_secret_key;
8088
m_region = config.m_region;
8189
m_tmp_token = config.m_tmp_token;
90+
m_is_use_intranet = config.m_is_use_intranet;
91+
m_intranet_addr = config.m_intranet_addr;
8292
m_config_parsed = config.m_config_parsed;
8393
return *this;
8494
}
@@ -142,9 +152,13 @@ class CosConfig {
142152
/// \brief 设置是否使用自定义ip和端口号
143153
void SetIsUseIntranetAddr(bool is_use_intranet);
144154

155+
bool IsUseIntranet();
156+
145157
/// \berief 设置自定义ip和端口号
146158
void SetIntranetAddr(const std::string& intranet_addr);
147159

160+
std::string GetIntranetAddr();
161+
148162
/// \brief 设置日志回调
149163
void SetLogCallback(const LogCallback log_callback);
150164

@@ -164,6 +178,9 @@ class CosConfig {
164178
std::string m_secret_key;
165179
std::string m_region;
166180
std::string m_tmp_token;
181+
182+
bool m_is_use_intranet;
183+
std::string m_intranet_addr;
167184
bool m_config_parsed;
168185
};
169186

src/cos_config.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ CosConfig::CosConfig(const std::string& config_file)
1515
m_secret_key(""),
1616
m_region(""),
1717
m_tmp_token(""),
18+
m_is_use_intranet(false),
19+
m_intranet_addr(""),
1820
m_config_parsed(false) {
1921
if (InitConf(config_file)) {
2022
m_config_parsed = true;
@@ -188,10 +190,12 @@ bool CosConfig::InitConf(const std::string& config_file) {
188190

189191
if (JsonObjectGetBoolValue(object, "IsUseIntranet", &bool_value)) {
190192
CosSysConfig::SetIsUseIntranet(bool_value);
193+
m_is_use_intranet = bool_value;
191194
}
192195

193196
if (JsonObjectGetStringValue(object, "IntranetAddr", &str_value)) {
194197
CosSysConfig::SetIntranetAddr(str_value);
198+
m_intranet_addr = str_value;
195199
}
196200

197201
CosSysConfig::PrintValue();
@@ -231,10 +235,20 @@ void CosConfig::SetConfigCredentail(const std::string& access_key,
231235

232236
void CosConfig::SetIsUseIntranetAddr(bool is_use_intranet) {
233237
CosSysConfig::SetIsUseIntranet(is_use_intranet);
238+
m_is_use_intranet = is_use_intranet;
239+
}
240+
241+
bool CosConfig::IsUseIntranet() {
242+
return m_is_use_intranet;
234243
}
235244

236245
void CosConfig::SetIntranetAddr(const std::string& intranet_addr) {
237246
CosSysConfig::SetIntranetAddr(intranet_addr);
247+
m_intranet_addr = intranet_addr;
248+
}
249+
250+
std::string CosConfig::GetIntranetAddr() {
251+
return m_intranet_addr;
238252
}
239253

240254
void CosConfig::SetLogCallback(const LogCallback log_callback) {

src/op/base_op.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -305,9 +305,9 @@ std::string BaseOp::GetRealUrl(const std::string& host, const std::string& path,
305305
dest_path = "/" + dest_path;
306306
}
307307

308-
if (CosSysConfig::IsUseIntranet() &&
309-
!CosSysConfig::GetIntranetAddr().empty()) {
310-
dest_host = CosSysConfig::GetIntranetAddr();
308+
if (m_config->IsUseIntranet() &&
309+
!m_config->GetIntranetAddr().empty()) {
310+
dest_host = m_config->GetIntranetAddr();
311311
} else if (!CosSysConfig::GetDestDomain().empty()) {
312312
dest_host = CosSysConfig::GetDestDomain();
313313
} else if (CosSysConfig::GetUseDnsCache()) {

0 commit comments

Comments
 (0)