aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authortwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-08-01 21:56:07 +0000
committertwilson <twilson@f38db490-d61c-443f-a65b-d21fe96a405b>2008-08-01 21:56:07 +0000
commitce466967683875f1033ffb0e3a5bcbd18131ad2f (patch)
tree6e73594bc852c223bb8956270a1d24645bcb89b1 /main
parent2204bee5d55fb5a7465c19650292aabbbd2b13b5 (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')
-rw-r--r--main/http.c19
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;
+ }
}
}