dart-sdk/sdk
Jonas Termansen 44415c49e4 [dart:_http] Require Cookie name and value to be valid.
This is a breaking change. https://github.com/dart-lang/sdk/issues/37192

This change makes the name and value positional optional parameters in the
Cookie class constructor mandatory by changing the signature from

  Cookie([String name, String value])

to

  Cookie(String name, String value)

The parameters were already effectively mandatory as a bug introduced in
Dart 1.3.0 (2014) meant the name and value parameters could not be null, and
any such uses already threw a noSuchMethod exception because null did not
have a length getter. As such, this is not a breaking change but adopts the
current behavior as a null name and value was already of questionable use.

Breaking change: This change adds validation to the String name and String
value setters, which had not been validating the fields at all, unlike the
constructor. This also forbids the name and value from being set to null.
That meant potentially invalid cookies could be sent to servers if the
cookie was modified after construction. This change adds the validation to
follow the rule of least surprise.

The documentation has been updated accordingly and improved a bit.

Closes https://github.com/dart-lang/sdk/issues/37192
Closes https://github.com/dart-lang/sdk/issues/29463

Change-Id: Iffed3dc265ca9c68142c4372522913f9d1ff4d51
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103840
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-06-20 13:40:10 +00:00
..
bin [SDK] Adds .exe extension for Windows binaries in dart_sdk.py. 2019-04-08 13:22:53 +00:00
lib [dart:_http] Require Cookie name and value to be valid. 2019-06-20 13:40:10 +00:00
api_readme.md Update API homepage to link to dart.dev, not dartlang.org 2019-05-21 02:51:59 +00:00
BUILD.gn Separate abi versions out from create_sdk into their own target. 2019-05-02 22:30:49 +00:00