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 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 append(buffer, "--"); | 155 append(buffer, "--"); |
156 | 156 |
157 append(buffer, "\r\n"); | 157 append(buffer, "\r\n"); |
158 } | 158 } |
159 | 159 |
160 void FormDataBuilder::addFilenameToMultiPartHeader(Vector<char>& buffer, const W
TF::TextEncoding& encoding, const String& filename) | 160 void FormDataBuilder::addFilenameToMultiPartHeader(Vector<char>& buffer, const W
TF::TextEncoding& encoding, const String& filename) |
161 { | 161 { |
162 // FIXME: This loses data irreversibly if the filename includes characters y
ou can't encode | 162 // FIXME: This loses data irreversibly if the filename includes characters y
ou can't encode |
163 // in the website's character set. | 163 // in the website's character set. |
164 append(buffer, "; filename=\""); | 164 append(buffer, "; filename=\""); |
165 appendQuotedString(buffer, encoding.encode(filename, WTF::QuestionMarksForUn
encodables)); | 165 appendQuotedString(buffer, encoding.normalizeAndEncode(filename, WTF::Questi
onMarksForUnencodables)); |
166 append(buffer, '"'); | 166 append(buffer, '"'); |
167 } | 167 } |
168 | 168 |
169 void FormDataBuilder::addContentTypeToMultiPartHeader(Vector<char>& buffer, cons
t CString& mimeType) | 169 void FormDataBuilder::addContentTypeToMultiPartHeader(Vector<char>& buffer, cons
t CString& mimeType) |
170 { | 170 { |
171 append(buffer, "\r\nContent-Type: "); | 171 append(buffer, "\r\nContent-Type: "); |
172 append(buffer, mimeType); | 172 append(buffer, mimeType); |
173 } | 173 } |
174 | 174 |
175 void FormDataBuilder::finishMultiPartHeader(Vector<char>& buffer) | 175 void FormDataBuilder::finishMultiPartHeader(Vector<char>& buffer) |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
211 else if (c == '\n' || (c == '\r' && (i + 1 >= length || string.data()[i
+ 1] != '\n'))) | 211 else if (c == '\n' || (c == '\r' && (i + 1 >= length || string.data()[i
+ 1] != '\n'))) |
212 append(buffer, "%0D%0A"); | 212 append(buffer, "%0D%0A"); |
213 else if (c != '\r') { | 213 else if (c != '\r') { |
214 append(buffer, '%'); | 214 append(buffer, '%'); |
215 appendByteAsHex(c, buffer); | 215 appendByteAsHex(c, buffer); |
216 } | 216 } |
217 } | 217 } |
218 } | 218 } |
219 | 219 |
220 } | 220 } |
OLD | NEW |