Skip to content

Commit e62d9a6

Browse files
committed
Create setUrlNotChange(url)
1 parent 5b96fc1 commit e62d9a6

2 files changed

Lines changed: 18 additions & 1 deletion

File tree

app/src/main/java/me/jessyan/retrofiturlmanager/demo/MainActivity.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,8 @@ public void btnRequestDefault(View view) {
168168
// 设置全局替换的 BaseUrl
169169
public void btnSetGlobalUrl(View view) {
170170
//当你项目中只有一个 BaseUrl, 但需要动态切换 BaseUrl 时, 全局 BaseUrl 显得非常方便
171+
//使用 RetrofitUrlManager.getInstance().setUrlNotChange(url); 方法处理过的 url 地址进行网络请求
172+
//则可以使此 url 地址忽略掉本框架的所有更改效果
171173
HttpUrl httpUrl = RetrofitUrlManager.getInstance().getGlobalDomain();
172174
if (null == httpUrl || !httpUrl.toString().equals(mGlobalUrl.getText().toString().trim()))
173175
RetrofitUrlManager.getInstance().setGlobalDomain(mGlobalUrl.getText().toString().trim());

manager/src/main/java/me/jessyan/retrofiturlmanager/RetrofitUrlManager.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,8 @@ public Request processRequest(Request request) {
138138

139139
if (null != httpUrl) {
140140
HttpUrl newUrl = mUrlParser.parseUrl(httpUrl, request.url());
141-
if (debug) Log.d(RetrofitUrlManager.TAG, "The new url is { " + newUrl.toString() + " }, old url is { " + request.url().toString() + " }");
141+
if (debug)
142+
Log.d(RetrofitUrlManager.TAG, "The new url is { " + newUrl.toString() + " }, old url is { " + request.url().toString() + " }");
142143

143144
if (listeners != null) {
144145
for (int i = 0; i < listeners.length; i++) {
@@ -215,6 +216,20 @@ public void setDebug(boolean debug) {
215216
this.debug = debug;
216217
}
217218

219+
/**
220+
* 将 url 地址作为参数传入此方法, 并使用此方法返回的 url 地址进行网络请求, 则会使此 url 地址忽略掉本框架的所有更改效果
221+
* <p>
222+
* 使用场景:
223+
* 比如当你使用了 {@link #setGlobalDomain(String url)} 配置了全局 BaseUrl 后, 想请求一个与全局 BaseUrl
224+
* 不同的第三方服务商地址获取图片
225+
*
226+
* @param url url 全路径
227+
* @return
228+
*/
229+
public String setUrlNotChange(String url) {
230+
return url + IDENTIFICATION_IGNORE;
231+
}
232+
218233
/**
219234
* 全局动态替换 BaseUrl, 优先级: Header中配置的 BaseUrl > 全局配置的 BaseUrl
220235
* 除了作为备用的 BaseUrl, 当你项目中只有一个 BaseUrl, 但需要动态切换

0 commit comments

Comments
 (0)