Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
adminstrot
TDengine
提交
93cb6386
TDengine
项目概览
adminstrot
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
93cb6386
编写于
8月 01, 2020
作者:
F
freemine
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
body process
上级
d9c04b18
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
18 addition
and
5 deletion
+18
-5
src/plugins/http/src/httpContext.c
src/plugins/http/src/httpContext.c
+14
-3
src/plugins/http/src/httpServer.c
src/plugins/http/src/httpServer.c
+4
-2
未找到文件。
src/plugins/http/src/httpContext.c
浏览文件 @
93cb6386
...
...
@@ -337,6 +337,7 @@ static void on_header_field(void *arg, const char *key, const char *val) {
if
(
pParser
->
failed
)
return
;
D
(
"==key:[%s], val:[%s]=="
,
key
,
val
);
int
avail
=
sizeof
(
pParser
->
buffer
)
-
(
pParser
->
pLast
-
pParser
->
buffer
);
int
n
=
snprintf
(
pParser
->
pLast
,
avail
,
"%s: %s
\r\n
"
,
key
,
val
);
...
...
@@ -350,7 +351,7 @@ static void on_header_field(void *arg, const char *key, const char *val) {
break
;
}
pParser
->
bufsize
+=
n
;
pParser
->
pCur
=
pParser
->
pLast
;
pParser
->
pCur
=
pParser
->
pLast
+
n
;
if
(
!
httpParseHead
(
pContext
))
{
httpDebug
(
"context:%p, fd:%d, ip:%s, thread:%s, accessTimes:%d, on_header_field(%s,%s), parse head failed"
,
...
...
@@ -372,9 +373,19 @@ static void on_body(void *arg, const char *chunk, size_t len) {
if
(
pParser
->
failed
)
return
;
if
(
pParser
->
data
.
pos
==
0
)
pParser
->
data
.
pos
=
pParser
->
pLast
;
if
(
pParser
->
data
.
pos
==
0
)
{
pParser
->
data
.
pos
=
pParser
->
pLast
;
pParser
->
data
.
len
=
0
;
}
A
(
"not implemented yet"
);
int
avail
=
sizeof
(
pParser
->
buffer
)
-
(
pParser
->
pLast
-
pParser
->
buffer
);
if
(
len
+
1
>=
avail
)
{
pParser
->
failed
|=
EHTTP_CONTEXT_PROCESS_FAILED
;
return
;
}
memcpy
(
pParser
->
pLast
,
chunk
,
len
);
pParser
->
pLast
+=
len
;
pParser
->
data
.
len
+=
len
;
}
static
void
on_end
(
void
*
arg
)
{
...
...
src/plugins/http/src/httpServer.c
浏览文件 @
93cb6386
...
...
@@ -138,7 +138,7 @@ static bool httpDecompressData(HttpContext *pContext) {
}
static
bool
httpReadData
(
HttpContext
*
pContext
)
{
if
(
0
)
return
ehttpReadData
(
pContext
);
if
(
1
)
return
ehttpReadData
(
pContext
);
if
(
!
pContext
->
parsed
)
{
httpInitContext
(
pContext
);
...
...
@@ -448,7 +448,9 @@ static bool ehttpReadData(HttpContext *pContext) {
return
false
;
}
if
(
pContext
->
parsed
)
{
int
ret
=
httpCheckReadCompleted
(
pContext
);
// int ret = httpCheckReadCompleted(pContext);
// already done in ehttp_parser
int
ret
=
HTTP_CHECK_BODY_SUCCESS
;
if
(
ret
==
HTTP_CHECK_BODY_CONTINUE
)
{
//httpDebug("context:%p, fd:%d, ip:%s, not finished yet, wait another event", pContext, pContext->fd, pContext->ipstr);
httpReleaseContext
(
pContext
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录