diff options
author | twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-08-01 21:56:07 +0000 |
---|---|---|
committer | twilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-08-01 21:56:07 +0000 |
commit | ce466967683875f1033ffb0e3a5bcbd18131ad2f (patch) | |
tree | 6e73594bc852c223bb8956270a1d24645bcb89b1 /main/http.c | |
parent | 2204bee5d55fb5a7465c19650292aabbbd2b13b5 (diff) |
Fix mime parsing by re-adding support for passing headers to callback functions
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@135235 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main/http.c')
-rw-r--r-- | main/http.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/main/http.c b/main/http.c index e6256b3df..bb6ae6121 100644 --- a/main/http.c +++ b/main/http.c @@ -657,6 +657,7 @@ static void *httpd_helper_thread(void *data) int status = 200, contentlength = 0; struct ast_str *out = NULL; unsigned int static_content = 0; + struct ast_variable *tail = headers; if (!fgets(buf, sizeof(buf), ser->f)) { goto done; @@ -686,6 +687,24 @@ static void *httpd_helper_thread(void *data) } if (!strncasecmp(cookie, "Cookie: ", 8)) { vars = parse_cookies(cookie); + } else { + char *name, *val; + + val = cookie; + name = strsep(&val, ":"); + if (ast_strlen_zero(name) || ast_strlen_zero(val)) { + continue; + } + ast_trim_blanks(name); + val = ast_skip_blanks(val); + + if (!headers) { + headers = ast_variable_new(name, val, __FILE__); + tail = headers; + } else { + tail->next = ast_variable_new(name, val, __FILE__); + tail = tail->next; + } } } |