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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 break; | 67 break; |
68 case '"': | 68 case '"': |
69 append(buffer, "%22"); | 69 append(buffer, "%22"); |
70 break; | 70 break; |
71 default: | 71 default: |
72 append(buffer, c); | 72 append(buffer, c); |
73 } | 73 } |
74 } | 74 } |
75 } | 75 } |
76 | 76 |
77 WTF::TextEncoding FormDataBuilder::encodingFromAcceptCharset(const String& accep
tCharset, const String& inputEncoding, const String& defaultCharset) | 77 WTF::TextEncoding FormDataBuilder::encodingFromAcceptCharset(const String& accep
tCharset, const String& charset, const String& defaultCharset) |
78 { | 78 { |
79 String normalizedAcceptCharset = acceptCharset; | 79 String normalizedAcceptCharset = acceptCharset; |
80 normalizedAcceptCharset.replace(',', ' '); | 80 normalizedAcceptCharset.replace(',', ' '); |
81 | 81 |
82 Vector<String> charsets; | 82 Vector<String> charsets; |
83 normalizedAcceptCharset.split(' ', charsets); | 83 normalizedAcceptCharset.split(' ', charsets); |
84 | 84 |
85 WTF::TextEncoding encoding; | 85 WTF::TextEncoding encoding; |
86 | 86 |
87 Vector<String>::const_iterator end = charsets.end(); | 87 Vector<String>::const_iterator end = charsets.end(); |
88 for (Vector<String>::const_iterator it = charsets.begin(); it != end; ++it)
{ | 88 for (Vector<String>::const_iterator it = charsets.begin(); it != end; ++it)
{ |
89 if ((encoding = WTF::TextEncoding(*it)).isValid()) | 89 if ((encoding = WTF::TextEncoding(*it)).isValid()) |
90 return encoding; | 90 return encoding; |
91 } | 91 } |
92 | 92 |
93 if (inputEncoding.isEmpty()) { | 93 if (charset.isEmpty()) { |
94 if (defaultCharset.isEmpty()) | 94 if (defaultCharset.isEmpty()) |
95 return WTF::UTF8Encoding(); | 95 return WTF::UTF8Encoding(); |
96 | 96 |
97 return defaultCharset; | 97 return defaultCharset; |
98 } | 98 } |
99 | 99 |
100 return inputEncoding; | 100 return charset; |
101 } | 101 } |
102 | 102 |
103 Vector<char> FormDataBuilder::generateUniqueBoundaryString() | 103 Vector<char> FormDataBuilder::generateUniqueBoundaryString() |
104 { | 104 { |
105 Vector<char> boundary; | 105 Vector<char> boundary; |
106 | 106 |
107 // The RFC 2046 spec says the alphanumeric characters plus the | 107 // The RFC 2046 spec says the alphanumeric characters plus the |
108 // following characters are legal for boundaries: '()+_,-./:=? | 108 // following characters are legal for boundaries: '()+_,-./:=? |
109 // However the following characters, though legal, cause some sites | 109 // However the following characters, though legal, cause some sites |
110 // to fail: (),./:=+ | 110 // to fail: (),./:=+ |
(...skipping 106 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 |