Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mica
mica
提交
b15faab4
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,体验更适合开发者的 AI 搜索 >>
提交
b15faab4
编写于
9月 16, 2021
作者:
如梦技术
🐛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
✨
mica-http 添加 HttpException。
上级
750d1b77
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
91 addition
and
11 deletion
+91
-11
mica-http/src/main/java/net/dreamlu/mica/http/AsyncCallback.java
...tp/src/main/java/net/dreamlu/mica/http/AsyncCallback.java
+2
-2
mica-http/src/main/java/net/dreamlu/mica/http/AsyncExchange.java
...tp/src/main/java/net/dreamlu/mica/http/AsyncExchange.java
+4
-4
mica-http/src/main/java/net/dreamlu/mica/http/Exchange.java
mica-http/src/main/java/net/dreamlu/mica/http/Exchange.java
+5
-5
mica-http/src/main/java/net/dreamlu/mica/http/HttpException.java
...tp/src/main/java/net/dreamlu/mica/http/HttpException.java
+56
-0
mica-http/src/test/java/net/dreamlu/HttpTest.java
mica-http/src/test/java/net/dreamlu/HttpTest.java
+24
-0
未找到文件。
mica-http/src/main/java/net/dreamlu/mica/http/AsyncCallback.java
浏览文件 @
b15faab4
...
...
@@ -38,7 +38,7 @@ public class AsyncCallback implements Callback {
@Override
public
void
onFailure
(
Call
call
,
IOException
e
)
{
exchange
.
onFailure
(
call
.
request
(),
e
);
exchange
.
onFailure
(
call
.
request
(),
new
HttpException
(
e
)
);
}
@Override
...
...
@@ -48,7 +48,7 @@ public class AsyncCallback implements Callback {
if
(
response
.
isSuccessful
())
{
exchange
.
onSuccessful
(
httpResponse
);
}
else
{
exchange
.
onFailure
(
call
.
request
(),
new
IOException
(
httpResponse
.
message
()
));
exchange
.
onFailure
(
call
.
request
(),
new
HttpException
(
httpResponse
));
}
}
}
...
...
mica-http/src/main/java/net/dreamlu/mica/http/AsyncExchange.java
浏览文件 @
b15faab4
...
...
@@ -30,11 +30,11 @@ import java.util.function.Consumer;
*/
public
class
AsyncExchange
{
private
final
static
Consumer
<
ResponseSpec
>
DEFAULT_CONSUMER
=
(
r
)
->
{};
private
final
static
BiConsumer
<
Request
,
IO
Exception
>
DEFAULT_FAIL_CONSUMER
=
(
r
,
e
)
->
{};
private
final
static
BiConsumer
<
Request
,
Http
Exception
>
DEFAULT_FAIL_CONSUMER
=
(
r
,
e
)
->
{};
private
final
Call
call
;
private
Consumer
<
ResponseSpec
>
successConsumer
;
private
Consumer
<
ResponseSpec
>
responseConsumer
;
private
BiConsumer
<
Request
,
IO
Exception
>
failedBiConsumer
;
private
BiConsumer
<
Request
,
Http
Exception
>
failedBiConsumer
;
AsyncExchange
(
Call
call
)
{
this
.
call
=
call
;
...
...
@@ -53,7 +53,7 @@ public class AsyncExchange {
this
.
execute
();
}
public
AsyncExchange
onFailed
(
BiConsumer
<
Request
,
IO
Exception
>
biConsumer
)
{
public
AsyncExchange
onFailed
(
BiConsumer
<
Request
,
Http
Exception
>
biConsumer
)
{
this
.
failedBiConsumer
=
biConsumer
;
return
this
;
}
...
...
@@ -70,7 +70,7 @@ public class AsyncExchange {
successConsumer
.
accept
(
httpResponse
);
}
protected
void
onFailure
(
Request
request
,
IO
Exception
e
)
{
protected
void
onFailure
(
Request
request
,
Http
Exception
e
)
{
failedBiConsumer
.
accept
(
request
,
e
);
}
...
...
mica-http/src/main/java/net/dreamlu/mica/http/Exchange.java
浏览文件 @
b15faab4
...
...
@@ -43,11 +43,11 @@ import java.util.function.Function;
*/
@RequiredArgsConstructor
public
class
Exchange
{
private
BiConsumer
<
Request
,
IO
Exception
>
failedBiConsumer
=
(
r
,
e
)
->
{
private
BiConsumer
<
Request
,
Http
Exception
>
failedBiConsumer
=
(
r
,
e
)
->
{
};
private
final
Call
call
;
public
Exchange
onFailed
(
BiConsumer
<
Request
,
IO
Exception
>
failConsumer
)
{
public
Exchange
onFailed
(
BiConsumer
<
Request
,
Http
Exception
>
failConsumer
)
{
this
.
failedBiConsumer
=
failConsumer
;
return
this
;
}
...
...
@@ -65,7 +65,7 @@ public class Exchange {
try
(
HttpResponse
response
=
new
HttpResponse
(
call
.
execute
()))
{
return
func
.
apply
(
response
);
}
catch
(
IOException
e
)
{
failedBiConsumer
.
accept
(
call
.
request
(),
e
);
failedBiConsumer
.
accept
(
call
.
request
(),
new
HttpException
(
e
)
);
return
null
;
}
}
...
...
@@ -76,10 +76,10 @@ public class Exchange {
if
(
response
.
isOk
())
{
return
func
.
apply
(
response
);
}
else
{
failedBiConsumer
.
accept
(
call
.
request
(),
new
IOException
(
response
.
toString
()
));
failedBiConsumer
.
accept
(
call
.
request
(),
new
HttpException
(
response
));
}
}
catch
(
IOException
e
)
{
failedBiConsumer
.
accept
(
call
.
request
(),
e
);
failedBiConsumer
.
accept
(
call
.
request
(),
new
HttpException
(
e
)
);
}
return
null
;
}
...
...
mica-http/src/main/java/net/dreamlu/mica/http/HttpException.java
0 → 100644
浏览文件 @
b15faab4
/*
* Copyright (c) 2019-2029, Dreamlu (596392912@qq.com & www.dreamlu.net).
* <p>
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.gnu.org/licenses/lgpl.html
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
net.dreamlu.mica.http
;
import
javax.annotation.Nullable
;
import
java.io.IOException
;
/**
* HttpException
*
* @author L.cm
*/
public
class
HttpException
extends
IOException
{
@Nullable
private
final
ResponseSpec
response
;
public
HttpException
(
ResponseSpec
response
)
{
super
(
response
.
toString
());
this
.
response
=
response
;
}
public
HttpException
(
Throwable
cause
)
{
super
(
cause
);
this
.
response
=
null
;
}
@Nullable
public
ResponseSpec
getResponse
()
{
return
response
;
}
@Override
public
Throwable
fillInStackTrace
()
{
Throwable
cause
=
super
.
getCause
();
if
(
cause
==
null
)
{
return
super
.
fillInStackTrace
();
}
else
{
return
cause
.
fillInStackTrace
();
}
}
}
mica-http/src/test/java/net/dreamlu/HttpTest.java
0 → 100644
浏览文件 @
b15faab4
package
net.dreamlu
;
import
net.dreamlu.mica.http.HttpRequest
;
import
net.dreamlu.mica.http.LogLevel
;
import
net.dreamlu.mica.http.ResponseSpec
;
public
class
HttpTest
{
public
static
void
main
(
String
[]
args
)
{
String
html
=
HttpRequest
.
get
(
"https://wwww.baiduxxx.com/123123"
)
.
useSlf4jLog
(
LogLevel
.
NONE
)
.
execute
()
.
onFailed
((
request
,
e
)
->
{
e
.
printStackTrace
();
ResponseSpec
response
=
e
.
getResponse
();
if
(
response
!=
null
)
{
System
.
out
.
println
(
response
.
asString
());
}
})
.
onSuccessful
(
ResponseSpec:
:
asString
);
System
.
out
.
println
(
html
);
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录