Am 17.12.2017 um 21:55 schrieb bauss:
On Sunday, 17 December 2017 at 19:13:44 UTC, Sönke Ludwig wrote:
But what do you mean with anything will break using `.path`? It
follows the usual deprecation path - currently it's just documented as
deprecated. In one or two releases, the `deprecated` attribute will be
set and a few releases later it will finally be removed. By that time
projects will have had quite some time to react on the deprecation.
HTTPServerRequest.path does not have the same definition as previously.
It has been changed from a field to a getter function.
True, this can be a breaking change, but setting this field looks like
something that is outside of any sane use case. The field should ideally
have been const/immutable before.
Tbh. it should just have been marked with deprecated instead of being
removed, as you do specify is the normal deprecation process.
What do you mean with this? Keeping the field with a `deprecated`
attribute, and at the same time add the getter property?
0.8.1:
/** The _path part of the URL.
Remarks: This field is only set if
HTTPServerOption.parseURL is set.
*/
string path;
0.8.2:
/** Deprecated: The _path part of the URL.
Note that this function contains the decoded version of the
requested path, which can yield incorrect results if the path
contains URL encoded path separators. Use `requestPath`
instead to
get an encoding-aware representation.
*/
string path() @safe {
if (_path.isNull) {
_path = urlDecode(requestPath.toString);
}
return _path.get;
}
private Nullable!string _path;
There should still have been a setter property like:
void path(string newPath);
Which should be marked with deprecated until it could be safely removed.