@@ -27,15 +27,33 @@ /*! * The scheme part of the URL. */ @property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *scheme; +/*! + * The scheme part of the URL in URL-encoded form. + * + * Setting this retains the original URL-encoding used - if more characters + * than necessary are URL-encoded, it is kept this way. + */ +@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) + OFString *URLEncodedScheme; + /*! * The host part of the URL. */ @property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *host; +/*! + * The host part of the URL in URL-encoded form. + * + * Setting this retains the original URL-encoding used - if more characters + * than necessary are URL-encoded, it is kept this way. + */ +@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) + OFString *URLEncodedHost; + /*! * The port part of the URL. */ @property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFNumber *port; @@ -42,20 +60,47 @@ /*! * The user part of the URL. */ @property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *user; +/*! + * The user part of the URL in URL-encoded form. + * + * Setting this retains the original URL-encoding used - if more characters + * than necessary are URL-encoded, it is kept this way. + */ +@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) + OFString *URLEncodedUser; + /*! * The password part of the URL. */ @property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *password; +/*! + * The password part of the URL in URL-encoded form. + * + * Setting this retains the original URL-encoding used - if more characters + * than necessary are URL-encoded, it is kept this way. + */ +@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) + OFString *URLEncodedPassword; + /*! * The path part of the URL. */ @property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *path; +/*! + * The path part of the URL in URL-encoded form. + * + * Setting this retains the original URL-encoding used - if more characters + * than necessary are URL-encoded, it is kept this way. + */ +@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) + OFString *URLEncodedPath; + /*! * The path of the URL split into components. * * The first component must always be empty to designate the root. */ @@ -65,15 +110,33 @@ /*! * The query part of the URL. */ @property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *query; +/*! + * The query part of the URL in URL-encoded form. + * + * Setting this retains the original URL-encoding used - if more characters + * than necessary are URL-encoded, it is kept this way. + */ +@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) + OFString *URLEncodedQuery; + /*! * The fragment part of the URL. */ @property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *fragment; +/*! + * The fragment part of the URL in URL-encoded form. + * + * Setting this retains the original URL-encoding used - if more characters + * than necessary are URL-encoded, it is kept this way. + */ +@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) + OFString *URLEncodedFragment; + /*! * @brief Creates a new mutable URL. * * @return A new, autoreleased OFMutableURL */