Changeset 68183 in webkit


Ignore:
Timestamp:
Sep 23, 2010 12:43:56 PM (14 years ago)
Author:
Patrick Gansterer
Message:

2010-09-23 Patrick Gansterer <Patrick Gansterer>

Reviewed by Adam Roben.

Add handling for form data and additional HTTP headers in ResourceHandleWin
https://bugs.webkit.org/show_bug.cgi?id=46369

  • platform/network/win/ResourceHandleWin.cpp: (WebCore::ResourceHandle::start):
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r68181 r68183  
     12010-09-23  Patrick Gansterer  <paroga@webkit.org>
     2
     3        Reviewed by Adam Roben.
     4
     5        Add handling for form data and additional HTTP headers in ResourceHandleWin
     6        https://bugs.webkit.org/show_bug.cgi?id=46369
     7
     8        * platform/network/win/ResourceHandleWin.cpp:
     9        (WebCore::ResourceHandle::start):
     10
    1112010-09-23  Eric Carlson  <eric.carlson@apple.com>
    212
  • trunk/WebCore/platform/network/win/ResourceHandleWin.cpp

    r68167 r68183  
    490490    }
    491491
     492    if (firstRequest().httpBody()) {
     493        firstRequest().httpBody()->flatten(d->m_formData);
     494        d->m_bytesRemainingToWrite = d->m_formData.size();
     495    }
     496
     497    Vector<UChar> httpHeaders;
     498    const HTTPHeaderMap& httpHeaderFields = firstRequest().httpHeaderFields();
     499
     500    for (HTTPHeaderMap::const_iterator it = httpHeaderFields.begin(); it != httpHeaderFields.end(); ++it) {
     501        if (equalIgnoringCase(it->first, "Accept") || equalIgnoringCase(it->first, "Referer") || equalIgnoringCase(it->first, "User-Agent"))
     502            continue;
     503
     504        if (!httpHeaders.isEmpty())
     505            httpHeaders.append('\n');
     506
     507        httpHeaders.append(it->first.characters(), it->first.length());
     508        httpHeaders.append(':');
     509        httpHeaders.append(it->second.characters(), it->second.length());
     510    }
     511
    492512    INTERNET_BUFFERSW internetBuffers;
    493513    ZeroMemory(&internetBuffers, sizeof(internetBuffers));
    494514    internetBuffers.dwStructSize = sizeof(internetBuffers);
     515    internetBuffers.lpcszHeader = httpHeaders.data();
     516    internetBuffers.dwHeadersLength = httpHeaders.size();
     517    internetBuffers.dwBufferTotal = d->m_bytesRemainingToWrite;
    495518
    496519    HttpSendRequestExW(d->m_requestHandle, &internetBuffers, 0, 0, reinterpret_cast<DWORD_PTR>(this));
Note: See TracChangeset for help on using the changeset viewer.