Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
ZLMediaKit
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
张翔宇
ZLMediaKit
Commits
818d26aa
Commit
818d26aa
authored
5 years ago
by
xiongziliang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加onRedirectUrl事件
parent
ed78f152
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
10 行增加
和
0 行删除
+10
-0
src/Http/HttpClient.cpp
+2
-0
src/Http/HttpClient.h
+8
-0
没有找到文件。
src/Http/HttpClient.cpp
查看文件 @
818d26aa
...
@@ -155,11 +155,13 @@ int64_t HttpClient::onRecvHeader(const char *data, uint64_t len) {
...
@@ -155,11 +155,13 @@ int64_t HttpClient::onRecvHeader(const char *data, uint64_t len) {
shutdown
(
SockException
(
Err_shutdown
,
"未找到Location字段(跳转url)"
));
shutdown
(
SockException
(
Err_shutdown
,
"未找到Location字段(跳转url)"
));
return
0
;
return
0
;
}
}
if
(
onRedirectUrl
(
newUrl
,
_parser
.
Url
()
==
"302"
)){
HttpClient
::
clear
();
HttpClient
::
clear
();
setMethod
(
"GET"
);
setMethod
(
"GET"
);
HttpClient
::
sendRequest
(
newUrl
,
_fTimeOutSec
);
HttpClient
::
sendRequest
(
newUrl
,
_fTimeOutSec
);
return
0
;
return
0
;
}
}
}
checkCookie
(
_parser
.
getValues
());
checkCookie
(
_parser
.
getValues
());
_totalBodySize
=
onResponseHeader
(
_parser
.
Url
(),
_parser
.
getValues
());
_totalBodySize
=
onResponseHeader
(
_parser
.
Url
(),
_parser
.
getValues
());
...
...
This diff is collapsed.
Click to expand it.
src/Http/HttpClient.h
查看文件 @
818d26aa
...
@@ -296,6 +296,14 @@ protected:
...
@@ -296,6 +296,14 @@ protected:
*/
*/
virtual
void
onDisconnect
(
const
SockException
&
ex
){}
virtual
void
onDisconnect
(
const
SockException
&
ex
){}
/**
* 重定向事件
* @param url 重定向url
* @param temporary 是否为临时重定向
* @return 是否继续
*/
virtual
bool
onRedirectUrl
(
const
string
&
url
,
bool
temporary
){
return
true
;};
//HttpRequestSplitter override
//HttpRequestSplitter override
int64_t
onRecvHeader
(
const
char
*
data
,
uint64_t
len
)
override
;
int64_t
onRecvHeader
(
const
char
*
data
,
uint64_t
len
)
override
;
void
onRecvContent
(
const
char
*
data
,
uint64_t
len
)
override
;
void
onRecvContent
(
const
char
*
data
,
uint64_t
len
)
override
;
...
...
This diff is collapsed.
Click to expand it.
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论