http_interceptor 2.0.0 copy "http_interceptor: ^2.0.0" to clipboard
http_interceptor: ^2.0.0 copied to clipboard

A lightweight, simple plugin that allows you to intercept request and response objects and modify them if desired.

Changelog #

2.0.0 #

Beta Changelog: https://github.com/CodingAleCR/http_interceptor/compare/2.0.0-beta.8...2.0.0

Full Changelog: https://github.com/CodingAleCR/http_interceptor/compare/1.0.2...2.0.0

2.0.0-beta.7 #

2.0.0-beta.6 #

  • ✨  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.

2.0.0-beta.5 #

  • ✨  Added: Support for onRequestTimeout when setting up requestTimeout on the interceptor.

2.0.0-beta.4 #

  • ❗️🛠  Changed: shouldAttemptRetryOnException will now also pass the BaseRequest.
  • 🚦  Tests: Updated tests.

2.0.0-beta.3 #

  • 🐞  Fixed: MultipartRequest does not get intercepted correctly (has missing fields).
  • 🐞  Fixed: MultipartRequest ignores retry policy.
  • 🐞  Fixed: Changing body causes that the headers also change and ignore previous interceptions (i.e. content-type headers are overriden).
  • 🐞  Fixed: copyWith was missing fields
  • 🚦  Tests: Updated tests.

2.0.0-beta.2 #

  • 🐞  Fixed: Changing body causes that the headers also change and ignore previous interceptions (i.e. content-type headers are overriden).
  • 🚦  Tests: Updated tests.

2.0.0-beta.1 #

  • ❗️🛠  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.
  • 🚦  Tests: Improved testing and documentation.

1.0.2 #

  • 📖  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 @meysammahfouzi
  • 🐞  Fixed: body is not sent in delete requests despite being accepted as parameter. Thanks to @MaciejZuk

1.0.1 #

  • ✨  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.

1.0.0 #

Check out the 1.0.0 migration guide for information on how to migrate your code.

  • ❗️🛠  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.

0.4.1 #

  • 🛠  Changed: Pre initialized headers and params on RequestData. This was a missed change on null-safety migration.

0.4.0 #

Check out our 0.4.0 migration guide for information on how to migrate your code.

  • ❗️✨  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

0.3.3 #

  • 🛠  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.

0.3.2 #

  • 🛠  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.

0.3.1 #

  • 🐞  Fixed: Retry Policy's shouldAttemptRetryOnResponse was synchronous which would not allow async token updates.
  • 🐞  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.

0.3.0 #

  • ✨  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.

0.2.0 #

  • ✨  Added: Unit testing for a few of the files.
  • 🛠  Changed: Android and iOS projects both in the plugin and the example now use Kotlin/Swift.
  • 🛠  Changed: 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.

0.1.1 #

  • 🐞  Fixed: HTTP Methods have misaligned parameters. Now they are called via named parameters to avoid type mismatch exceptions when being used.

0.1.0 #

  • ✨  Added: Query Parameters to GET requests, it allows you to set proper parameters without having to add them to the URL beforehand.
  • 🛠  Changed: Documentation for the example to include the new Query Parameters usage.

0.0.3 #

  • ✨  Added: Documentation for the example.

0.0.2 #

  • 🐞  Fixed: All the warnings regarding plugin publication.

0.0.1 #

  • ✨  Added: Initial plugin implementation.
  • ✨  Added: Example of usage for the plugin.
  • ✨  Added: README.md and LICENSE files.
193
likes
160
points
56.4k
downloads

Publisher

verified publishercodingale.dev

Weekly Downloads

A lightweight, simple plugin that allows you to intercept request and response objects and modify them if desired.

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

MIT (license)

Dependencies

http

More

Packages that depend on http_interceptor