Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mica
mica
提交
c21a3706
mica
项目概览
mica
/
mica
通知
10
Star
2
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
mica
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c21a3706
编写于
9月 16, 2021
作者:
如梦技术
🐛
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'mica-v2.4.x'
上级
384f7265
730f31c8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
51 addition
and
24 deletion
+51
-24
mica-http/src/main/java/net/dreamlu/mica/http/AsyncCallback.java
...tp/src/main/java/net/dreamlu/mica/http/AsyncCallback.java
+2
-4
mica-http/src/main/java/net/dreamlu/mica/http/AsyncExchange.java
...tp/src/main/java/net/dreamlu/mica/http/AsyncExchange.java
+27
-11
mica-http/src/main/java/net/dreamlu/mica/http/Exchange.java
mica-http/src/main/java/net/dreamlu/mica/http/Exchange.java
+22
-9
未找到文件。
mica-http/src/main/java/net/dreamlu/mica/http/AsyncCallback.java
浏览文件 @
c21a3706
...
...
@@ -18,7 +18,6 @@ package net.dreamlu.mica.http;
import
okhttp3.Call
;
import
okhttp3.Callback
;
import
okhttp3.Request
;
import
okhttp3.Response
;
import
javax.annotation.ParametersAreNonnullByDefault
;
...
...
@@ -39,8 +38,7 @@ public class AsyncCallback implements Callback {
@Override
public
void
onFailure
(
Call
call
,
IOException
e
)
{
Request
request
=
call
.
request
();
exchange
.
onFailure
(
request
,
new
HttpException
(
request
,
e
));
exchange
.
onFailure
(
call
.
request
(),
e
);
}
@Override
...
...
@@ -50,7 +48,7 @@ public class AsyncCallback implements Callback {
if
(
response
.
isSuccessful
())
{
exchange
.
onSuccessful
(
httpResponse
);
}
else
{
exchange
.
onFailure
(
call
.
request
(),
new
HttpException
(
httpResponse
)
);
exchange
.
onFailure
(
httpResponse
);
}
}
}
...
...
mica-http/src/main/java/net/dreamlu/mica/http/AsyncExchange.java
浏览文件 @
c21a3706
...
...
@@ -19,6 +19,8 @@ package net.dreamlu.mica.http;
import
okhttp3.Call
;
import
okhttp3.Request
;
import
javax.annotation.Nullable
;
import
javax.annotation.ParametersAreNonnullByDefault
;
import
java.io.IOException
;
import
java.util.function.BiConsumer
;
import
java.util.function.Consumer
;
...
...
@@ -28,19 +30,21 @@ import java.util.function.Consumer;
*
* @author L.cm
*/
@ParametersAreNonnullByDefault
public
class
AsyncExchange
{
private
final
static
Consumer
<
ResponseSpec
>
DEFAULT_CONSUMER
=
(
r
)
->
{};
private
final
static
BiConsumer
<
Request
,
HttpException
>
DEFAULT_FAIL_CONSUMER
=
(
r
,
e
)
->
{};
private
final
Call
call
;
@Nullable
private
Consumer
<
ResponseSpec
>
successConsumer
;
@Nullable
private
Consumer
<
ResponseSpec
>
responseConsumer
;
@Nullable
private
BiConsumer
<
Request
,
HttpException
>
failedBiConsumer
;
AsyncExchange
(
Call
call
)
{
this
.
call
=
call
;
this
.
successConsumer
=
DEFAULT_CONSUMER
;
this
.
responseConsumer
=
DEFAULT_CONSUMER
;
this
.
failedBiConsumer
=
DEFAULT_FAIL_CONSUMER
;
this
.
successConsumer
=
null
;
this
.
responseConsumer
=
null
;
this
.
failedBiConsumer
=
null
;
}
public
void
onSuccessful
(
Consumer
<
ResponseSpec
>
consumer
)
{
...
...
@@ -62,16 +66,28 @@ public class AsyncExchange {
call
.
enqueue
(
new
AsyncCallback
(
this
));
}
protected
void
onResponse
(
HttpResponse
httpResponse
)
{
responseConsumer
.
accept
(
httpResponse
);
protected
void
onResponse
(
HttpResponse
response
)
{
if
(
responseConsumer
!=
null
)
{
responseConsumer
.
accept
(
response
);
}
}
protected
void
onSuccessful
(
HttpResponse
httpResponse
)
{
successConsumer
.
accept
(
httpResponse
);
protected
void
onSuccessful
(
HttpResponse
response
)
{
if
(
successConsumer
!=
null
)
{
successConsumer
.
accept
(
response
);
}
}
protected
void
onFailure
(
Request
request
,
HttpException
e
)
{
failedBiConsumer
.
accept
(
request
,
e
);
protected
void
onFailure
(
Request
request
,
IOException
e
)
{
if
(
failedBiConsumer
!=
null
)
{
failedBiConsumer
.
accept
(
request
,
new
HttpException
(
request
,
e
));
}
}
protected
void
onFailure
(
HttpResponse
response
)
{
if
(
failedBiConsumer
!=
null
)
{
failedBiConsumer
.
accept
(
response
.
rawRequest
(),
new
HttpException
(
response
));
}
}
}
mica-http/src/main/java/net/dreamlu/mica/http/Exchange.java
浏览文件 @
c21a3706
...
...
@@ -18,7 +18,6 @@ package net.dreamlu.mica.http;
import
com.fasterxml.jackson.core.type.TypeReference
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
lombok.RequiredArgsConstructor
;
import
net.dreamlu.mica.core.utils.Exceptions
;
import
net.dreamlu.mica.core.utils.JsonUtil
;
import
okhttp3.Call
;
...
...
@@ -41,11 +40,15 @@ import java.util.function.Function;
*
* @author L.cm
*/
@RequiredArgsConstructor
public
class
Exchange
{
private
BiConsumer
<
Request
,
HttpException
>
failedBiConsumer
=
(
r
,
e
)
->
{
};
private
final
Call
call
;
@Nullable
private
BiConsumer
<
Request
,
HttpException
>
failedBiConsumer
;
public
Exchange
(
Call
call
)
{
this
.
call
=
call
;
this
.
failedBiConsumer
=
null
;
}
public
Exchange
onFailed
(
BiConsumer
<
Request
,
HttpException
>
failConsumer
)
{
this
.
failedBiConsumer
=
failConsumer
;
...
...
@@ -65,8 +68,7 @@ public class Exchange {
try
(
HttpResponse
response
=
new
HttpResponse
(
call
.
execute
()))
{
return
func
.
apply
(
response
);
}
catch
(
IOException
e
)
{
Request
request
=
call
.
request
();
failedBiConsumer
.
accept
(
request
,
new
HttpException
(
request
,
e
));
onFailure
(
call
.
request
(),
e
);
return
null
;
}
}
...
...
@@ -77,11 +79,10 @@ public class Exchange {
if
(
response
.
isOk
())
{
return
func
.
apply
(
response
);
}
else
{
failedBiConsumer
.
accept
(
call
.
request
(),
new
HttpException
(
response
)
);
onFailure
(
response
);
}
}
catch
(
IOException
e
)
{
Request
request
=
call
.
request
();
failedBiConsumer
.
accept
(
request
,
new
HttpException
(
request
,
e
));
onFailure
(
call
.
request
(),
e
);
}
return
null
;
}
...
...
@@ -236,4 +237,16 @@ public class Exchange {
return
onResponse
(
responseSpec
->
responseSpec
.
toFile
(
path
));
}
private
void
onFailure
(
Request
request
,
IOException
e
)
{
if
(
failedBiConsumer
!=
null
)
{
failedBiConsumer
.
accept
(
request
,
new
HttpException
(
request
,
e
));
}
}
private
void
onFailure
(
HttpResponse
response
)
{
if
(
failedBiConsumer
!=
null
)
{
failedBiConsumer
.
accept
(
response
.
rawRequest
(),
new
HttpException
(
response
));
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录