| OLD | NEW |
| 1 /* | 1 /* |
| 2 * This file is part of Adblock Plus <http://adblockplus.org/>, | 2 * This file is part of Adblock Plus <http://adblockplus.org/>, |
| 3 * Copyright (C) 2006-2013 Eyeo GmbH | 3 * Copyright (C) 2006-2013 Eyeo GmbH |
| 4 * | 4 * |
| 5 * Adblock Plus is free software: you can redistribute it and/or modify | 5 * Adblock Plus is free software: you can redistribute it and/or modify |
| 6 * it under the terms of the GNU General Public License version 3 as | 6 * it under the terms of the GNU General Public License version 3 as |
| 7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
| 8 * | 8 * |
| 9 * Adblock Plus is distributed in the hope that it will be useful, | 9 * Adblock Plus is distributed in the hope that it will be useful, |
| 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 150 nextHeaderNameStart++; | 150 nextHeaderNameStart++; |
| 151 prevHeaderStart = nextHeaderNameStart; | 151 prevHeaderStart = nextHeaderNameStart; |
| 152 continue; | 152 continue; |
| 153 } | 153 } |
| 154 std::wstring headerNameW = responseHeaders.substr(prevHeaderStart, headerN
ameEnd - prevHeaderStart); | 154 std::wstring headerNameW = responseHeaders.substr(prevHeaderStart, headerN
ameEnd - prevHeaderStart); |
| 155 std::wstring headerValueW = responseHeaders.substr(headerValueStart, nextH
eaderNameStart - headerValueStart); | 155 std::wstring headerValueW = responseHeaders.substr(headerValueStart, nextH
eaderNameStart - headerValueStart); |
| 156 | 156 |
| 157 headerNameW = AdblockPlus::Utils::TrimString(headerNameW); | 157 headerNameW = AdblockPlus::Utils::TrimString(headerNameW); |
| 158 headerValueW = AdblockPlus::Utils::TrimString(headerValueW); | 158 headerValueW = AdblockPlus::Utils::TrimString(headerValueW); |
| 159 | 159 |
| 160 std::string headerName = AdblockPlus::Utils::ToUTF8String(headerNameW.c_st
r(), headerNameW.length()); | 160 std::string headerName = AdblockPlus::Utils::ToUTF8String(headerNameW.c_st
r()); |
| 161 std::string headerValue = AdblockPlus::Utils::ToUTF8String(headerValueW.c_
str(), headerValueW.length()); | 161 std::string headerValue = AdblockPlus::Utils::ToUTF8String(headerValueW.c_
str()); |
| 162 | 162 |
| 163 std::transform(headerName.begin(), headerName.end(), headerName.begin(), :
:tolower); | 163 std::transform(headerName.begin(), headerName.end(), headerName.begin(), :
:tolower); |
| 164 std::transform(headerValue.begin(), headerValue.end(), headerValue.begin()
, ::tolower); | 164 std::transform(headerValue.begin(), headerValue.end(), headerValue.begin()
, ::tolower); |
| 165 | 165 |
| 166 result->responseHeaders.push_back( | 166 result->responseHeaders.push_back( |
| 167 std::pair<std::string, std::string>(headerName, headerValue)); | 167 std::pair<std::string, std::string>(headerName, headerValue)); |
| 168 | 168 |
| 169 nextHeaderNameStart++; | 169 nextHeaderNameStart++; |
| 170 prevHeaderStart = nextHeaderNameStart; | 170 prevHeaderStart = nextHeaderNameStart; |
| 171 } | 171 } |
| (...skipping 17 matching lines...) Expand all Loading... |
| 189 AdblockPlus::ServerResponse AdblockPlus::DefaultWebRequest::GET( | 189 AdblockPlus::ServerResponse AdblockPlus::DefaultWebRequest::GET( |
| 190 const std::string& url, const HeaderList& requestHeaders) const | 190 const std::string& url, const HeaderList& requestHeaders) const |
| 191 { | 191 { |
| 192 AdblockPlus::ServerResponse result; | 192 AdblockPlus::ServerResponse result; |
| 193 result.status = NS_ERROR_FAILURE; | 193 result.status = NS_ERROR_FAILURE; |
| 194 result.responseStatus = 0; | 194 result.responseStatus = 0; |
| 195 | 195 |
| 196 HRESULT hr; | 196 HRESULT hr; |
| 197 BOOL res; | 197 BOOL res; |
| 198 | 198 |
| 199 std::wstring canonizedUrl = Utils::CanonizeUrl(Utils::ToUTF16String(url, url.l
ength())); | 199 std::wstring canonizedUrl = Utils::CanonizeUrl(Utils::ToUTF16String(url)); |
| 200 | 200 |
| 201 std::string headersString = ""; | 201 std::string headersString = ""; |
| 202 for (int i = 0; i < requestHeaders.size(); i++) | 202 for (int i = 0; i < requestHeaders.size(); i++) |
| 203 { | 203 { |
| 204 headersString += requestHeaders[i].first + ": "; | 204 headersString += requestHeaders[i].first + ": "; |
| 205 headersString += requestHeaders[i].second + ";"; | 205 headersString += requestHeaders[i].second + ";"; |
| 206 } | 206 } |
| 207 std::wstring headers = Utils::ToUTF16String(headersString, headersString.lengt
h()); | 207 std::wstring headers = Utils::ToUTF16String(headersString); |
| 208 | 208 |
| 209 LPSTR outBuffer; | 209 LPSTR outBuffer; |
| 210 DWORD downloadSize, downloaded; | 210 DWORD downloadSize, downloaded; |
| 211 WinHttpHandle hSession(0), hConnect(0), hRequest(0); | 211 WinHttpHandle hSession(0), hConnect(0), hRequest(0); |
| 212 | 212 |
| 213 // Use WinHttpOpen to obtain a session handle. | 213 // Use WinHttpOpen to obtain a session handle. |
| 214 std::wstring proxyName, proxyBypass; | 214 std::wstring proxyName, proxyBypass; |
| 215 | 215 |
| 216 GetProxySettings(proxyName, proxyBypass); | 216 GetProxySettings(proxyName, proxyBypass); |
| 217 if (proxyName.empty()) | 217 if (proxyName.empty()) |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 329 if( WinHttpReadData(hRequest, (LPVOID)outBuffer, downloadSize, &downloaded
)) | 329 if( WinHttpReadData(hRequest, (LPVOID)outBuffer, downloadSize, &downloaded
)) |
| 330 { | 330 { |
| 331 result.responseText.append(outBuffer, downloaded); | 331 result.responseText.append(outBuffer, downloaded); |
| 332 } | 332 } |
| 333 // Free the memory allocated to the buffer. | 333 // Free the memory allocated to the buffer. |
| 334 delete[] outBuffer; | 334 delete[] outBuffer; |
| 335 } | 335 } |
| 336 } while (downloadSize > 0); | 336 } while (downloadSize > 0); |
| 337 return result; | 337 return result; |
| 338 } | 338 } |
| OLD | NEW |