summaryrefslogtreecommitdiff
path: root/src/HTTP_Message.c
diff options
context:
space:
mode:
authorlishu <[email protected]>2019-12-05 18:17:55 +0800
committerlishu <[email protected]>2019-12-05 18:17:55 +0800
commitdcb49ad5d9f717fdda3d0bdf6324c7332262d615 (patch)
tree35f7ace884b2a4a2b6bd0ccda4eebdaebf1dee9d /src/HTTP_Message.c
parentbf0a31b981e86b055a15466959e0359024ee6b7a (diff)
增加http http_line2value函数,支持获取value内容
Diffstat (limited to 'src/HTTP_Message.c')
-rw-r--r--src/HTTP_Message.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/HTTP_Message.c b/src/HTTP_Message.c
index ebc6661..8d116eb 100644
--- a/src/HTTP_Message.c
+++ b/src/HTTP_Message.c
@@ -50,6 +50,19 @@ int http_line2region(const char *line, uint32 line_len, char** region, uint32* r
return 0;
}
+int http_line2value(const char *line, uint32 line_len, char** value, uint32* value_len)
+{
+ /*line����ҵ��㣬��append,����lineǰ��Ŀո��Ѿ�ɾ����ֻ��Ҫɾ��: ֮��Ŀո�*/
+ uint32 vlen=0, sp_offset=0;
+ char* colon_pos = (char*)memchr(line, ':', line_len);
+ if(NULL==colon_pos) return -1;
+ vlen = line_len - (colon_pos - line + 1);
+ http_deleteEmptyRow(&sp_offset, colon_pos+1, vlen);
+ *value = colon_pos+1+sp_offset;
+ *valuelen = vlen-sp_offset;
+ return 0;
+}
+
/* old platform
char* http_url_decode(char *data, int* data_len)
{