Add AIHTTPReceivedHeaders

This fixes the problem that existed with received headers:
The server sends some headers ("set-cookie") more than once
in the same reply, which cannot be stored in std::map.
The old code just ignored the additional cookies, while
curlthreading3 (since the introduction of AIHTTPHeaders)
caused an assertion.

AIHTTPReceivedHeaders is written around a std::multimap
and allows to retrieve multiple headers with the same key.
Also, it is case insensitive so that if a server sends
"Content-Type" it will still find it (the viewer looks for
"content-type").
This commit is contained in:
Aleric Inglewood
2012-10-21 17:45:46 +02:00
parent f7626699da
commit 937a60c8f9
9 changed files with 152 additions and 44 deletions

View File

@@ -184,7 +184,7 @@ class LLDisplayNameUpdate : public LLHTTPNode
// *TODO: get actual headers out of ResponsePtr
//LLSD headers = response->mHeaders;
av_name.mExpires =
LLAvatarNameCache::nameExpirationFromHeaders(AIHTTPHeaders());
LLAvatarNameCache::nameExpirationFromHeaders(AIHTTPReceivedHeaders());
LLAvatarNameCache::insert(agent_id, av_name);