mercury_client 2.2.3 mercury_client: ^2.2.3 copied to clipboard
Portable HTTP client (Browser and Native support) with memory cache and support for methods GET, HEAD, POST, PUT, DELETE, PATCH and OPTIONS.
2.2.3 #
-
HttpBody
:- Added
bytesToString
, to correctly convertbody
bytes usingmimeType
to determine theEncoding
.
- Added
-
BasicCredential.base64
:- Use
utf8
to decode.
- Use
-
browser.HttpRequest()
:responseType = 'arraybuffer'
-
HttpClient
:- Pass parameter
responseType
to the requests.
- Pass parameter
-
sdk: '>=3.3.0 <4.0.0'
-
swiss_knife: ^3.2.2
-
charset: ^2.0.1
-
test: ^1.25.8
-
coverage: ^1.9.2
2.2.2 #
-
HttpResponse
:- Added field
error
.
- Added field
-
HttpClientRequesterBrowser
: better error handling and body/message parsing for HTTP errors. -
swiss_knife: ^3.2.0
-
test: ^1.25.2
2.2.1 #
- lints: ^3.0.0
- Fix lints.
- swiss_knife: ^3.1.6
- coverage: ^1.7.2
- dependency_validator: ^3.2.3
2.2.0 #
-
HttpStatus
: addedisStatusRedirect
. -
HttpResponse
: addedredirects
andredirectToLocation
. -
Dart CI: update and optimize jobs.
-
sdk: '>=3.0.0 <4.0.0'
-
swiss_knife: ^3.1.5
-
collection: ^1.18.0
-
lints: ^2.1.1
-
test: ^1.24.6
-
stream_channel: ^2.1.2
-
async: ^2.11.0
-
coverage: ^1.6.3
2.1.8 #
- swiss_knife: ^3.1.3
- test: ^1.22.1
2.1.7 #
HttpClient
:- Added
userAgent
.
- Added
HttpClientRequester
:- Added
setupUserAgent
.
- Added
HttpClientRequesterIO
:req.headers.add
withpreserveHeaderCase
: Some servers (like IPP printers) won't accept lower-case headers.
HttpRequest
:updateContentLength
: won't setContent-Length
ifTransfer-Encoding: chunked
is defined.sendDataAsString
: tries to decode using UTF-8 and if fails uses LATIN1.
- sdk: '>=2.18.0 <3.0.0'
- collection: ^1.17.0
- lints: ^2.0.1
- stream_channel: ^2.1.1
- async: ^2.10.0
- dependency_validator: ^3.2.2
- coverage: ^1.6.1
2.1.6 #
- Browser implementation:
- Ignore forbidden headers for a request.
2.1.5 #
- Improve GitHub CI.
- swiss_knife: ^3.1.1
2.1.4 #
- Added
HttpClient.jsonDecoder
.
2.1.3 #
- Fix upload of raw bytes (
Uint8List
).
2.1.2 #
- Improve
HttpRequest
handling of body headers:Content-Type
(Mime-Type
andcharset
)sendData
(request body) as bytes.Content-Length
fromsendData
.
- Improve request logging.
HttpClient
requestparameters
values now can be aObject?
.
2.1.1 #
parameters
now acceptsMap<String,String?>
.- Using Dart coverage for
VM
andBrowser
tests. - Improved tests.
- Migrated from
pedantic
tolints
. - lints: ^1.0.1
- swiss_knife: ^3.0.8
- dependency_validator: ^3.1.0
2.1.0 #
- Added
HttpClientInterceptor
. - Added missing
HttpClient.requestHEAD
implementation. HttpCache
: addedonStaleResponse
andstaleResponseDelay
, to allow use of already cached response while requesting a new response.
2.0.3 #
- Add
header
parameter to request methods. HttpCache
: fixparameter
issue to identify already cached request.- swiss_knife: ^3.0.7
2.0.2 #
- Null Safety adjustments.
2.0.1 #
- Sound null safety compatibility.
- enum_to_string: ^2.0.1
- swiss_knife: ^3.0.6
2.0.0-nullsafety.3 #
- Null safety adjustments.
- swiss_knife: ^3.0.5.
2.0.0-nullsafety.2 #
- Null Safety adjustments.
- swiss_knife: ^3.0.2
2.0.0-nullsafety.1 #
- Dart 2.12.0:
- Sound null safety compatibility.
- Update CI dart commands.
- sdk: '>=2.12.0 <3.0.0'
- enum_to_string: ^2.0.0-nullsafety.1
- swiss_knife: ^3.0.1
- collection: ^1.15.0-nullsafety.4
1.1.19 #
- Better handling of body for responses of status from 400 to 599.
- Fix
_jsonDecode
: better handling of null json. - Dart 2.12.0+ compliant:
dartfmt
anddartanalyzer
. - swiss_knife: ^2.5.26
1.1.18 #
- Added
browser
test.- Tests now runs with
vm
andbrowser
platform. - The browser test uses
spawnHybridUri
, to run at the same time theTestServer
in VM. - The VM test run normally, running
TestServer
in the same VM of tests.
- Tests now runs with
.github/workflows
: Now supports tests in FireFox.- Added dev_dependencies:
- stream_channel: ^2.0.0
- async: ^2.4.2
1.1.17 #
- Added parameter
queryString
. - Added
ProgressListener
.
1.1.16 #
HttpRequest
andHttpClient
: AddednoQueryString
parameter.
1.1.15 #
HttpClient
:baseURL
now is normalized withtrimLeft()
, since any URI can't start with spaces.- Added
withBasePath
andwithBaseURL
. PUT
,PATH
andDELETE
now acceptsqueryParameters
.
Authorization
: credential resolution handles better exceptions when calling [authorizationProvider].HttpBody
: AddedisMap
andasMap
.- swiss_knife: ^2.5.20
1.1.14 #
- Renamed
HttpBody
toHttpRequestBody
. - New class
HttpBody
, to wrap multiple types of data body. HttpResponse.body
now is aHttpBody
no aString
.- enum_to_string: ^1.0.14
- swiss_knife: ^2.5.19
1.1.13 #
- Using
encodeJSON
that accepts more dynamic trees. - Avoid empty querystring at the end of path (
.../foo?
) for emptyqueryParameters
. - enum_to_string: ^1.0.13
- swiss_knife: ^2.5.16
1.1.12 #
buildURLWithQueryParameters
:- avoid empty fragment in URL.
- new parameter
removeFragment
to force null URL fragment.
- swiss_knife: ^2.5.13
1.1.11 #
- swiss_knife: ^2.5.12
- pedantic: ^1.9.2
- test: ^1.15.3
- test_coverage: ^0.4.3
1.1.10 #
- Added
HttpResponse.bodyMimeType
. - Change parameter name
queryParameters
toparameters
. - Request
parameters
now accepts variables in values:{{var}}
. - dartfmt.
- swiss_knife: ^2.5.10
- CI: dartanalyzer
1.1.9 #
HttpBody: can be generated by a
Functionthat can receive
parameters`.HttpCall
: Defines and performs HTTP calls.- swiss_knife: ^2.5.5
1.1.8 #
- Refactor class Authorization: _AuthorizationStatic, _AuthorizationResolvable.
- Change field HttpClient.authorization from Credential to Authorization.
- Added HttpClient.authorizationResolutionInterceptor
- swiss_knife: ^2.5.3
1.1.7 #
- Fix HTTPS request for dart:io implementation.
- Reuse connections for dart:io implementation.
- Added example.
- Fix documentation.
- dartfmt.
1.1.6 #
- Implementation of DELETE HTTP Method.
- Added HttpClient.urlFilter: HttpClientURLFilter
- Internally use of
HttpMethod
enum when possible. Avoids use of Method as String. - API Documentation.
- dartfmt and clean code.
- swiss_knife: ^2.4.1
1.1.5 #
- getHttpClientRuntimeUri()
- HttpRequester integrated with JSONPaging.
- HttpResponse.asJSONPaging
1.1.4 #
- HttpResponse.bodyType/isBodyTypeJSON
- BearerCredential.findToken
- fix HttpResponse.getResponseHeader()
- getHttpMethod()
- swiss_knife: ^2.3.9
1.1.3 #
- swiss_knife: ^2.3.7
1.1.2 #
- Fix HttpCache to identify requests with complex body already in cache.
- HttpError: response body as HttpError.message.
- swiss_knife: ^2.3.4
1.1.1 #
- swiss_knife: ^2.3.1
1.1.0 #
- Fix parsing of Uri path with encoded char (ex.: %20).
- Fix automatic set of application/x-www-form-urlencoded when sending POST query parameters.
- Retry request with network error.
- Fix HttpCache requests with dynamic body.
- swiss_knife: ^2.3.0
1.0.9 #
- BearerCredential.fromJSONToken
1.0.8 #
- HttpClient: fullPath parameter to indicate that the path is full (from root).
- HttpClient._buildRequestAuthorization: fix case when result is a null credential.
1.0.7 #
- JSONBodyCredential: creates a JSON body with authentication for each request.
- HttpBody: now a request body is dynamic, it can be Map and List (automatically converted to JSON) or a normal String.
1.0.6 #
- Public method buildRequestURL.
- HttpCache class: handles requests cache with entries timeout and memory limit.
1.0.5 #
- Update dependencies.
- Code analysis.
1.0.4 #
- Update dependencies.
- Code analysis.
1.0.3 #
- Add Author and License to README.
1.0.1 #
- Code analysis
1.0.0 #
- Initial version, created by Stagehand