ObjFW  Diff

Differences From Artifact [fc4768ddc2]:

To Artifact [9f42522241]:

  • File src/OFString+URLEncoding.h — part of check-in [516517deb3] at 2016-08-21 14:00:20 on branch trunk — OFURL: Do not URL decode and reencode parts

    URL decoding and reencoding is not lossless: For example, if the query
    was foo=bar&qux=foo%25bar, it will be decoded to foo=bar&qux=foo&bar and
    then reencoded to foo=bar%25qux=foo%25bar, which is a different thing.

    The only way to solve this is to let the application handle the URL
    decoding and encoding according to its own rules, as those might be
    different depending on the application. (user: js, size: 1351) [annotate] [blame] [check-ins using]


34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 */
- (OFString*)stringByURLEncoding;

/*!
 * @brief Encodes a string for use in a URL, but does not escape the specified
 *	  ignored characters.
 *
 * @param ignored A C string of characters that should not be escaped
 *
 * @return A new autoreleased string
 */
- (OFString*)stringByURLEncodingWithIgnoredCharacters: (const char*)ignored;

/*!
 * @brief Decodes a string used in a URL.
 *
 * @return A new autoreleased string
 */
- (OFString*)stringByURLDecoding;
@end

OF_ASSUME_NONNULL_END







|



|










34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 */
- (OFString*)stringByURLEncoding;

/*!
 * @brief Encodes a string for use in a URL, but does not escape the specified
 *	  ignored characters.
 *
 * @param allowed A C string of characters that should not be escaped
 *
 * @return A new autoreleased string
 */
- (OFString*)stringByURLEncodingWithAllowedCharacters: (const char*)allowed;

/*!
 * @brief Decodes a string used in a URL.
 *
 * @return A new autoreleased string
 */
- (OFString*)stringByURLDecoding;
@end

OF_ASSUME_NONNULL_END