Problem with packing headers

Vjacheslav Chekushin <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Organization LMT
Message-ID <[email protected]>
Hi, list.
Writing http_header_pack function I get strange behavour for
some web sites.

1)
GET /img/eslogo0P.wbmp HTTP/1.1
Host: wap.eurosport.com
Accept: text/html
Accept: image/vnd.wap.wbmp

Works.

2)
GET /img/eslogo0P.wbmp HTTP/1.1
Host: wap.eurosport.com
Accept: text/html, image/vnd.wap.wbmp

Works.

3)
GET /img/eslogo0P.wbmp HTTP/1.1
Host: wap.eurosport.com
Accept: text/html,
  image/vnd.wap.wbmp

HTTP/1.1 406 No acceptable objects were found
Server: Microsoft-IIS/5.0
--skipped--


As I undestand from HTTP specification all 3 requests are completly
equivalent. And my http_header_pack realization make 1->3
translation.
So question is: do I misundestand specifications or something else?

P.S.
http_header_pack realization (http.c):

static int http_header_cmp(void *a, void *b) {
   Octstr *header,*pat;

   header = a;
   pat = b;

   if (octstr_ncompare(header, pat, octstr_len(pat)) == 0) {
     return 1;
   }

   return 0;
}

void http_header_pack(List *headers)
{
   List *new_headers;
   Octstr *curr,*name,*value;
   int i;

   gwlib_assert_init();
   gw_assert(headers != NULL);

   new_headers = http_create_empty_headers();

   for (i = 0; i < list_len(headers); i++) {
     http_header_get(headers, i, &name, &value);
     if ((curr = list_search(new_headers, name, http_header_cmp)) == NULL) {
       http_header_add(new_headers, octstr_get_cstr(name), octstr_get_cstr(value));
     } else {
       octstr_append_cstr(curr,",\r\n ");
       octstr_append(curr,value);
     }
     octstr_destroy(name);
     octstr_destroy(value);

   }

   http_header_combine(headers, new_headers);
   http_destroy_headers(new_headers);
}

-- 
Vjacheslav Chekushin                                mailto:[email protected]
Latvian Mobile Phone Company                        http://www.lmt.lv
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.