- Validate that the
method
parameter of BaseRequest is a valid "token".
- Add
package:http/retry.dart
withRetryClient
. This is the same implementation aspackage:http_retry
which will be discontinued.
- Fix code samples in
README
to pass aUri
instance.
- Stable null safety release.
- Migrate to null safety.
- Add
const
constructor toByteStream
. - Migrate
BrowserClient
fromblob
toarraybuffer
. - Breaking All APIs which previously allowed a
String
orUri
to be passed now require aUri
. - Breaking Added a
body
andencoding
argument toClient.delete
. This is only breaking for implementations which override that method.
- Fix error handler callback type for response stream errors to avoid masking root causes.
- Add
IOStreamedResponse
which includes the ability to detach the socket. When sending a request with anIOClient
the response will be anIOStreamedResponse
. - Remove dependency on
package:async
.
- Fix a bug setting the
'content-type'
header inMultipartRequest
.
- Documentation fixes.
- Documentation fixes.
- The regular
Client
factory constructor is now usable anywhere thatdart:io
ordart:html
are available, and will give you anIoClient
orBrowserClient
respectively. - The
package:http/http.dart
import is now safe to use on the web (or anywhere that eitherdart:io
ordart:html
are available).
- In order to use or reference the
IoClient
directly, you will need to import the newpackage:http/io_client.dart
import. This is typically only necessary if you are passing a customHttpClient
instance to the constructor, in which case you are already giving up support for web.
- Use new Dart 2 constant names. This branch is only for allowing existing code to keep running under Dart 2.
- Stop depending on the
stack_trace
package.
- Declare support for
async
2.0.0.
- Remove single quote ("'" - ASCII 39) from boundary characters. Causes issues with Google Cloud Storage.
- remove boundary characters that package:http_parser cannot parse.
- Don't quote the boundary header for
MultipartRequest
. This is more compatible with server quirks.
- Fix the SDK constraint to only include SDK versions that support importing
dart:io
everywhere.
- Stop using
dart:mirrors
.
- Remove an extra newline in multipart chunks.
- Properly specify
Content-Transfer-Encoding
for multipart chunks.
- Declare compatibility with
http_parser
3.0.0.
- Fix one more strong mode warning in
http/testing.dart
.
- Fix some lingering strong mode warnings.
- Fix all strong mode warnings.
- Support
http_parser
2.0.0.
-
Require Dart SDK >= 1.9.0
-
Eliminate many uses of
Chain.track
from thestack_trace
package.
- Support
http_parser
1.0.0.
- Add a
Client.patch
shortcut method and a matching top-levelpatch
method.
- Add a
BrowserClient.withCredentials
property.
- Properly namespace an internal library name.
- Widen the version constraint on
unittest
.
- Widen the version constraint for
stack_trace
.
- Expose the
IOClient
class which wraps adart:io
HttpClient
.
- Fix a bug in handling errors in decoding XMLHttpRequest responses for
BrowserClient
.
-
The package no longer depends on
dart:io
. TheBrowserClient
class inpackage:http/browser_client.dart
can now be used to make requests on the browser. -
Change
MultipartFile.contentType
fromdart:io
'sContentType
type tohttp_parser
'sMediaType
type. -
Exceptions are now of type
ClientException
rather thandart:io
'sHttpException
.
-
Make
BaseRequest.contentLength
andBaseResponse.contentLength
usenull
to indicate an unknown content length rather than -1. -
The
contentLength
parameter tonew BaseResponse
is now named rather than positional. -
Make request headers case-insensitive.
-
Make
MultipartRequest
more closely adhere to browsers' encoding conventions.