OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
7 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 7 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 append(buffer, "--"); | 161 append(buffer, "--"); |
162 | 162 |
163 append(buffer, "\r\n"); | 163 append(buffer, "\r\n"); |
164 } | 164 } |
165 | 165 |
166 void FormDataBuilder::addFilenameToMultiPartHeader(Vector<char>& buffer, const W
TF::TextEncoding& encoding, const String& filename) | 166 void FormDataBuilder::addFilenameToMultiPartHeader(Vector<char>& buffer, const W
TF::TextEncoding& encoding, const String& filename) |
167 { | 167 { |
168 // FIXME: This loses data irreversibly if the filename includes characters y
ou can't encode | 168 // FIXME: This loses data irreversibly if the filename includes characters y
ou can't encode |
169 // in the website's character set. | 169 // in the website's character set. |
170 append(buffer, "; filename=\""); | 170 append(buffer, "; filename=\""); |
171 appendQuotedString(buffer, encoding.normalizeAndEncode(filename, WTF::Questi
onMarksForUnencodables)); | 171 appendQuotedString(buffer, encoding.encode(filename, WTF::QuestionMarksForUn
encodables)); |
172 append(buffer, '"'); | 172 append(buffer, '"'); |
173 } | 173 } |
174 | 174 |
175 void FormDataBuilder::addContentTypeToMultiPartHeader(Vector<char>& buffer, cons
t CString& mimeType) | 175 void FormDataBuilder::addContentTypeToMultiPartHeader(Vector<char>& buffer, cons
t CString& mimeType) |
176 { | 176 { |
177 append(buffer, "\r\nContent-Type: "); | 177 append(buffer, "\r\nContent-Type: "); |
178 append(buffer, mimeType); | 178 append(buffer, mimeType); |
179 } | 179 } |
180 | 180 |
181 void FormDataBuilder::finishMultiPartHeader(Vector<char>& buffer) | 181 void FormDataBuilder::finishMultiPartHeader(Vector<char>& buffer) |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 else if (c == '\n' || (c == '\r' && (i + 1 >= length || string.data()[i
+ 1] != '\n'))) | 217 else if (c == '\n' || (c == '\r' && (i + 1 >= length || string.data()[i
+ 1] != '\n'))) |
218 append(buffer, "%0D%0A"); | 218 append(buffer, "%0D%0A"); |
219 else if (c != '\r') { | 219 else if (c != '\r') { |
220 append(buffer, '%'); | 220 append(buffer, '%'); |
221 appendByteAsHex(c, buffer); | 221 appendByteAsHex(c, buffer); |
222 } | 222 } |
223 } | 223 } |
224 } | 224 } |
225 | 225 |
226 } | 226 } |
OLD | NEW |