Pre-release for the null safety migration of this package.
Note that 0.12.3 may not be the final stable null safety release version, we reserve the right to release it as a 0.13.0 breaking change.
This release will be pinned to only allow pre-release sdk versions starting from 2.10.0-2.0.dev, which is the first version where this package will appear in the null safety allow list.
const constructor to ByteStream.BrowserClient from blob to arraybuffer.String or Uri to be passed now require a Uri.body and encoding argument to Client.delete. This is only breaking for implementations which override that method.IOStreamedResponse which includes the ability to detach the socket. When sending a request with an IOClient the response will be an IOStreamedResponse.package:async.'content-type' header in MultipartRequest.Client factory constructor is now usable anywhere that dart:io or dart:html are available, and will give you an IoClient or BrowserClient respectively.package:http/http.dart import is now safe to use on the web (or anywhere that either dart:io or dart:html are available).IoClient directly, you will need to import the new package:http/io_client.dart import. This is typically only necessary if you are passing a custom HttpClient instance to the constructor, in which case you are already giving up support for web.stack_trace package.async 2.0.0.MultipartRequest. This is more compatible with server quirks.dart:io everywhere.dart:mirrors.Content-Transfer-Encoding for multipart chunks.http_parser 3.0.0.http/testing.dart.http_parser 2.0.0.Require Dart SDK >= 1.9.0
Eliminate many uses of Chain.track from the stack_trace package.
http_parser 1.0.0.Client.patch shortcut method and a matching top-level patch method.BrowserClient.withCredentials property.unittest.stack_trace.IOClient class which wraps a dart:io HttpClient.BrowserClient.The package no longer depends on dart:io. The BrowserClient class in package:http/browser_client.dart can now be used to make requests on the browser.
Change MultipartFile.contentType from dart:io's ContentType type to http_parser's MediaType type.
Exceptions are now of type ClientException rather than dart:io's HttpException.
Make BaseRequest.contentLength and BaseResponse.contentLength use null to indicate an unknown content length rather than -1.
The contentLength parameter to new BaseResponse is now named rather than positional.
Make request headers case-insensitive.
Make MultipartRequest more closely adhere to browsers' encoding conventions.