CodingAleCR/http_interceptor
A lightweight, simple plugin that allows you to intercept request and response objects and modify them if desired.
๐ What's Changed
- v3.0.0 by @CodingAleCR in https://github.com/CodingAleCR/http_interceptor/pull/173
โจ New Contributors
- @shittyday made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/151
- @iruizr7 made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/156
- @td2thinh made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/160
- @techouse made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/158
- Full Changelog: https://github.com/CodingAleCR/http_interceptor/compare/2.0.0...3.0.0
๐ What's Changed
- Fix type 'Response' is not a subtype of type 'StreamedResponse' in type cast by @wilinz in https://github.com/CodingAleCR/http_interceptor/pull/132
- feat: Simplify configuration of delay between retries by @jonasschaude in https://github.com/CodingAleCR/http_interceptor/pull/122
- refactor!: use FutureOr to allow synchronous interceptors by @Leptopoda in https://github.com/CodingAleCR/http_interceptor/pull/144
- docs: add ayyysh04 as a contributor for ideas by @allcontributors in https://github.com/CodingAleCR/http_interceptor/pull/146
- fix: ci actions, docs and issues with requestTimeout configs by @CodingAleCR in https://github.com/CodingAleCR/http_interceptor/pull/147
โจ New Contributors
- @wilinz made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/132
- @jonasschaude made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/122
- @Leptopoda made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/144
- Beta Changelog: https://github.com/CodingAleCR/http_interceptor/compare/2.0.0-beta.7...2.0.0
- Full Changelog: https://github.com/CodingAleCR/http_interceptor/compare/1.0.2...2.0.0
๐ What's Changed
- Fix type 'Response' is not a subtype of type 'StreamedResponse' in type cast by @wilinz in https://github.com/CodingAleCR/http_interceptor/pull/132
โจ New Contributors
- @wilinz made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/132
- Full Changelog: https://github.com/CodingAleCR/http_interceptor/compare/2.0.0-beta.7...2.0.0-beta.8
๐ What's Changed
- docs: add ntimesc as a contributor for ideas by @allcontributors in https://github.com/CodingAleCR/http_interceptor/pull/116
- updated packages by @mauryagaurav947 in https://github.com/CodingAleCR/http_interceptor/pull/129
โจ New Contributors
- @mauryagaurav947 made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/129
- Full Changelog: https://github.com/CodingAleCR/http_interceptor/compare/2.0.0-beta.6...2.0.0-beta.7
๐ What's Changed
- โจ Added: `Future<bool> shouldInterceptRequest()` and `Future<bool> shouldInterceptResponse()`. This enables individual interceptor checks and conditional intercepting configurations.
- โจ Added: `bodyBytes` to `Request.copyWith`. This adds support to set and modify the body as a stream of bytes.
- โ๏ธ๐ Changed: `RetryPolicy` to be `Future<bool>` instead of `bool` so that you can support different exception retrying scenarios (See #115).
- ๐ Changed: example project to showcase updated Flutter 3.0, new library APIs and `MultipartRequest` handling.
- Full Changelog: https://github.com/CodingAleCR/http_interceptor/compare/2.0.0-beta.5...2.0.0-beta.6
๐ What's Changed
- โจ Added: request timeout handler by @javiermrz in https://github.com/CodingAleCR/http_interceptor/pull/108
- ๐ Changed: add javiermrz as a contributor for code by @allcontributors in https://github.com/CodingAleCR/http_interceptor/pull/111
โจ New Contributors
- @javiermrz made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/108
- Full Changelog: https://github.com/CodingAleCR/http_interceptor/compare/2.0.0-beta.4...2.0.0-beta.5
๐ What's Changed
- โ๏ธ๐ Changed: `shouldAttemptRetryOnException` will now also pass the `BaseRequest`.
- ๐ฆ Tests: Updated tests.
- ๐ Fixed: `MultipartRequest` does not get intercepted correctly (has missing fields).
- ๐ Fixed: `MultipartRequest` ignores retry policy.
- ๐ Fixed: Changing `body` causes the headers to change and ignore previous interceptions (i.e. content-type headers are overridden).
- ๐ Fixed: `copyWith` was missing fields
- ๐ฆ Tests: Updated tests.
โจ New Contributors
- @vixez made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/103
- Full Changelog: https://github.com/CodingAleCR/http_interceptor/compare/2.0.0-beta.2...2.0.0-beta.4
๐ What's Changed
- fix: intercepting body causes headers to be reset
- Full Changelog: https://github.com/CodingAleCR/http_interceptor/compare/2.0.0-beta.1...2.0.0-beta.2
๐ What's Changed
- โ๏ธ๐ Changed: Renamed `Method` to use `HttpMethod` and refactored helper functions into extensions (`StringToMethod`, and `MethodToString`).
- โ๏ธ๐ Changed: `InterceptorContract` to use `BaseRequest` and `BaseResponse` instead of custom models.
- โ๏ธ๐ Removed: `RequestData` and `ResponseData` since the classes are no longer used.
- โจ Added: Support for intercepting `Request`,`StreamedRequest` and `MultipartRequest`.
- โจ Added: Support for intercepting `Response`,`StreamedResponse` and `MultipartRequest`.
- โจ Added: Extensions for `BaseRequest`, `Request`,`StreamedRequest` and `MultipartRequest` that allows copying requests through a `copyWith` method.
- โจ Added: Extensions for `BaseResponse`, `Response`,`StreamedResponse` and `IOStreamedResponse` that allows copying responses through a `copyWith` method.
- ๐ Changed: example project to showcase updated APIs.
- + 1 more
โจ New Contributors
- @lukaskurz made their first contribution in https://github.com/CodingAleCR/http_interceptor/pull/98
- Full Changelog: https://github.com/CodingAleCR/http_interceptor/compare/1.0.2...2.0.0-beta.1
๐ Changed: example project to showcase RetryPolicy usage. ๐ Fixed: parameters were missing in requests of type POST, PUT, PATCH, and DELETE. ๐ Fixed: int or other non-string parameters are not being added to request. Thanks to @ Contributor meysammahfouzi ๐ Fixed: body is not sent in delete requests despite being accepted as parameter. Thanks to @MaciejZuk
๐ Changes
- โจ Changed: `ResponseData` now has `request` to allow checking on the request that triggered the response. Thanks to @II11II
- ๐ Fixed: Use `queryParametersAll` when creating `RequestData`. Thanks to @Mawi137
- ๐ Fixed: `README` to include `required` keywords needed. Thanks to @meysammahfouzi
- ๐ฆ Tests: Improved testing and documentation.
๐ Changes
- โ๏ธ๐ Changed: Renamed `HttpClientWithInterceptor` to `InterceptedClient`.
- โ๏ธ๐ Changed: Renamed `HttpWithInterceptor` to `InterceptedHttp`.
- โ๏ธ๐ Removed: `badCertificateCallback` from `InterceptedClient` and `InterceptedHttp` in order to fully support Flutter Web ๐ . In order to use refer to the migration guide.
- โจ Added: Array parameters on `RequestData` following a similar principle than `http`'s `queryParametersAll` .
- โจ Changed: `ResponseData` now has `bodyBytes` to allow encoding or decoding in the format desired.
- โจ Changed: Migrated tests to use `test` package instead of `flutter_test`.
- โจ Changed: More tests and coverage, this is a work in progress.
- ๐ Removed: Package no longer depends on Flutter, which means that it can be used with standalone Dart projects.
๐ Changes
- ๐ Changed: Pre initialized `headers` and `params` on `RequestData`. This was a missed change on null-safety migration.
๐ Changes
- โ๏ธโจ Added: String extension to allow `toUri()` usage when importing the library. Since `http` dropped support for string url usage and since Dart does not yet support function overloading, we had to implement an alternative through extensions.
- โจ Added: Flutter web support ๐ (`badCertificateCallback` and `findProxy` features are not supported on Flutter Web due to browser limitations)
- ๐ Changed: Upgraded `http` to `0.13.0`.
- ๐ Changed: Upgraded `effective_dart` to `1.3.0`.
- ๐ Changed: Upgraded Dart `sdk` to `>=2.12.0 <3.0.0`. (Yay! Sound null safety! ๐)
- ๐ Removed: `meta` is removed since Dart's null safety now covers all uses inside this plugin
๐ Changes
- Changed: Plugin no longer depends on the `flutter/foundation.dart`, instead it uses `meta` plugin which allows for usage on non flutter environments.
- Changed: README now features a contribution and a roadmap sections for improving visibility on the project's future.
- Changed: `badCertificateCallback` is now available to use without the experimental tag.
๐ ๐ Changelog
- Changed: Example now showcases exception handling.
- Changed: README now showcases exception handling.
- Fixed: Interceptor no longer using custom exceptions, instead it rethrows in the case that the retry policy is not set or if it has reached max attempts.
๐ ๐ Changelog
- Fixed: Retry Policy's `shouldAttemptRetryOnResponse` was synchronous which would not allow async token updates. (Thanks to @AsynchronySuperWes! ๐)
- Fixed: Retry Policy would only trigger once when using `HttpClientWithInterceptor`.
- Fixed: Retry Policy would use the `http` Response class, which would force plugin users to add http plugin separately.
- Experimental: `badCertificateCallback` allows you to use self-signing certificates.
๐ Changelog
- Added: RetryPolicy. It allows to attempt retries on a request when an exception occurs or when a condition from the response is met.
- Fixed: URI type urls not concatenating parameters.
๐ Changelog
- Added: Unit testing for a few of the files.
- Modified: Android and iOS projects both in the plugin and the example now use Kotlin/Swift.
- Modified: Android projects both in the plugin and the example now use AndroidX namespaces.
- Fixed: Last '&' character was not removed from parametized URLs.
- Fixed: Duplicate GET parameters when using `get`.
๐ Changes
- Fixed: HTTP Methods have misaligned parameters. Now they are called via named parameters to avoid type mismatch exceptions when being used.
๐ Changes
- Added: Query Parameters to GET requests, it allows you to set proper parameters without having to add them to the URL beforehand.
- Modified: Documentation for the example to include the new Query Parameters usage.
๐ Changes
- Added: Documentation for the example.
๐ Changes
- Fixed: All the warnings regarding plugin publication.
๐ Changes
- Added: Initial plugin implementation.
- Added: Example of usage for the plugin.
- Added: README.md and LICENSE files.
