-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement authenticator #198
Implement authenticator #198
Conversation
I can add some tests (with some help) if the general idea is accepted. |
Hi! Cool! Could you show please the example of usage? So, for example, I have refresh_token and refreshToken endpoint, how I should implement the Authenticator? |
Not sure to understand why this would allow retrying request, maybe the name |
Basic example:
There are strategies around handling infinite loops. Some include via headers, checking paths or counting retries and many more options. This implementation is designed to be un-opinionated as everyone's implementations will have their own nuances. I think the name makes sense. Plenty of tutorials for OkHttp that are relatable. I would imagine a lot of mobile devs moving to Flutter will reference it due to its popularity (over 39,000 stars on Github). https://github.com/square/okhttp/blob/480c20e46bb1745e280e42607bbcc73b2c953d97/okhttp/src/main/kotlin/okhttp3/Authenticator.kt |
I think there is also some work to do around not invoking the interceptors again. I wanted to start simple before getting into this and see if there was buy in. edit: I forgot to mention that this change should be non breaking so it would not cause update headaches if people do not want to update 👍 |
This is a good approach IMHO. Users of Chopper can utilize the It seems to be in line with OkHttp's solution linked above. I'll do a review on the current implementation. If this is merged, documentation should be updated with explanation on how the Authenticator should be used with example(s). |
@stewemetal - Is there anything I can do to help push this along? I really could do with this functionality in my own project. Noticed it was added to the milestone which is cool 👍 |
I think this can be approved, as I saw your example. "Infinite" retries is a local problem, that can be solved per project. Looking cool. But, @stewemetal, please also have a look! :) |
chopper/lib/src/authenticator.dart
Outdated
import 'package:chopper/chopper.dart'; | ||
|
||
/// Returns a request that includes a credential to satisfy an authentication challenge in | ||
/// [response]. Returns null if the challenge cannot be satisfied. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This description fits the authenticate
method rather than the whole class. Also, I would rephrase it like this:
/// This method should return a [Request] that includes credentials to satisfy an authentication challenge received in
/// [response]. It should return `null` if the challenge cannot be satisfied.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the class needs a proper, more generic description too. I'd even go as far as putting a link to OkHttp's similar mechanic (like you did in the PR).
chopper/lib/src/base.dart
Outdated
@@ -37,6 +38,10 @@ class ChopperClient { | |||
/// the request and response interceptors are called respectively. | |||
final Converter converter; | |||
|
|||
/// The [Authenticator] that handles provides reactive authentication for a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"handles provides" -> "can provide"
chopper/lib/src/base.dart
Outdated
@@ -316,6 +322,15 @@ class ChopperClient { | |||
final response = await http.Response.fromStream(streamRes); | |||
dynamic res = Response(response, response.body); | |||
|
|||
if(authenticator != null) { | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This empty line is unnecessary.
I've done a quick review on the PR. @grahamsmith Please fix the mentioned things. 😉 |
Also, I'll find a place for the example implementation in the updated docs, it looks good. 😄 |
I'd like to consult with @lejard-h and @JEuler soon on the topic of release management and releasing 3.0.7 with revamped docs and guides. As the Authenticator mechanic is a non-breaking change, it can indeed be part of 3.0.7 (hence the inclusion to the milestone). |
As I said, I feel like it is a cool, non-breaking, additional mechanic, so, no problem with adding it to the upcoming release 👍 |
@stewemetal happy to make the changes. For future PRs I think it would be quicker to just make the changes (I believe maintainers are allowed to contribute back to my fork) rather than me copy paste them in. |
@grahamsmith I've added changes requested from @stewemetal :) Without the description. |
Amazing thanks! I've been having a tough week so that's very much appreciated 🎉😄 |
@stewemetal Do you want us to make this change with the description? Or we are okay to merge it as it is? :) |
I think it's OK, I'll approve it. 😄 |
* GZip note * Update faq.md * CR fixes * Moved to the faq.md * HTTP Auth example * CR fix * CR fix * Base url note Runtime base url note update Update faq.md * Packages upgraded (#142) * Release 3.0.3 * add develop branch to travis * fix travis badge * Make code quality improvements in generator.dart (#147) * Add optionalBody parameter to suppress warnings (#151) * Add optionalBody parameter to suppress warnings Fixes #149 * Improve formatting * Remove redundant _methodWithBody function Use a single source of truth (the method's optionalBody property) * Show optional body hint in warning message * Make optionalBody configurable for all methods Explicitly set the default value for every method * Specify type for optionalBody argument Co-authored-by: Wilko Manger <[email protected]> * Fix typo and invalid code sample in documentation (#156) * Preserve uri current query params in buildUri (#166) * This allows chopper API methods with generic attributes (#170) @post(path: URL.DOCUMENT_PRIOR_INFO) Future<Response<T>> getPriorInfo<T>(@Body() Params params); Which is usefull when single API method may respond differently depending on request parameter values. Co-authored-by: Aleksandr Malkov <[email protected]> * Make conversion helpers can be `async` (#175) #174 - locally tested * Dependency update (#178) Version bumped Removed Angular / Web examples With nullability added Update generator.dart Dependency cleanup Update pubspec.yaml Update pubspec.yaml * Re-add Angular example and fix travis (#181) Re add example removed here (https://github.com/lejard-h/chopper/pull/178/files) Upgrade to Angular 6, but I had to remove jaguar_serializer which is not maintain anymore (last update 1 year ago). Then use new Dart command to run pub, analyzer and formatter * Publish package from travis (#182) * fix * fix scopes * allow_failure * comment override * Add suport for JsonApi utf8 serialization (#185) * Add suport for JsonApi utf8 serialization * Move json api header into a constant * The Big Public API Documentation update, volume 1. (#189) * Update converters.md with wording and formatting fixes * Update the documentation of classes and functions in interceptor.dart * Update the documentation of classes and functions in base.dart * Update the documentation of public functions in utils.dart * Update the documentation of public classes and functions in request.dart * Update the documentation of public classes and functions in response.dart * Update the documentation of ConvertRequest, ConvertResponse, and FactoryConverter in annotations.dart * Fix typos in the documentation in annotations.dart * Remove TODO from ChopperService.definitionType's documentation * Add example usage to FactoryConverter's documentation * Fix accidental typo in ChopperService's class name * The Big Public API Documentation update, volume 2. (#193) * Update the documentation of BuiltValueConverter * Update the documentation and usage guide of BuiltValueConverter * Update description texts in pubspec.yaml files * Change homepage tag to documentation in chopper/pubspec.yaml * Change homepage tag to documentation in chopper_built_value/pubspec.yaml and make it point to its actual documentation page * Change homepage tag to documentation in chopper_generator/pubspec.yaml * Change homepage tag to documentation in chopper/example/pubspec.yaml and make it point to the actual documentation * Fix wording in chopper_generator/README.md * Fix wording in chopper_built_value/README.md * Fix HTML escape sequences escaping into markdown and inline docs; Fix code sample syntax errors in some docs Those pesky escapists. * Add dynamic version tag to built-value-converter.md * Fix typo in the package name in the installation section of built-value-converter.md * Fix typo in built-value-converter.md * Reorganize and update chopper/README.md * The Big Public API Documentation Update, volume 3. (#196) * Rework and update getting-started.md * Reword parts of the API docs in annotations.dart * Add description of path resolution behavior in requests.md This commit addresses issue #195 * Reword parts of the documentations in requests.md * Reword the error handling description in getting-started.md * Reword and update most of the documentation in requests.md * Add missing @s to annotation mentions in getting-started.md * Remove an unnecessary new line from getting-started.md * Add further explanation to an example service's create method in getting-started.md * Update the README of chopper_built_value * Update the README of chopper_generator * Update and reword top level README.md and chopper/README.md * Try to fix text formatting in requests.md * Fix wording requests.md's form URL encoded section * Remove unsafe hint on build_runner from getting-started.md * Implement authenticator (#198) * Implement authenticator * Changes for PR Co-authored-by: Ivan Terekhin <[email protected]> * Add Flutter Favorite badge (#206) * feature/updated doc (#214) * updated doc * fixed typo Co-authored-by: dafinrs <[email protected]> * Feature/support body get (#201) * Feature/null safety migration (#212) * Pubspec for ChopperBuiltValue * Begin resolving null safety dependencies * Initial change * Implement null safety on chopper_generator * Fix comments on PR * Fixed some comments * version updates * fixed issues with versions * fix comments on chopperClient nullability * fixed tests * Fixed issues with nullable client * Bumped build version to 2.0.0 * updated libs * made parts not nullable * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper_generator/pubspec.yaml Co-authored-by: Ivan Terekhin <[email protected]> * Fix for null safety in applyHeaders * More deps upgrade Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: István Juhos <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: uladzimir_paliukhovich <> * Add double quotes to Curl print String (#218) Prints the Curl URL wrapped with double-quotes. It fixes issues when pasting the resulting log to the command line, where the curl request in some cases would not be closed by the terminal or fail to execute. * Enable GitHub action (#216) * github acions with mono_repo * fail test * cleanup * badge * regenerate * regenerate * format * fix analyzer * fix analyzer * fix test * regenerate * cleanup badge * Naming fix * remove dev chanel * ignore vscode * revert readme change * remove travis * format * fix * fix * format * fix tests Co-authored-by: Ivan Terekhin <[email protected]> * Add an OPTIONS request type (#215) * Add an OPTIONS request type * Null safety fix Co-authored-by: Ivan Terekhin <[email protected]> * changelog * docs: add lejard-h as a contributor (#221) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add stewemetal as a contributor (#222) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add JEuler as a contributor (#223) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add fryette as a contributor (#224) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add Vovanella95 as a contributor (#225) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * update Changelog for 4.0.0 release (#220) * update Changelog * contributors * cleanup * changelog Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
* coverage * coverage test * push * regenerate * regenerate * token * fix * fix * fix fix fix * dart action * cleanup * Null safety (non stable version) (#219) * GZip note * Update faq.md * CR fixes * Moved to the faq.md * HTTP Auth example * CR fix * CR fix * Base url note Runtime base url note update Update faq.md * Packages upgraded (#142) * Release 3.0.3 * add develop branch to travis * fix travis badge * Make code quality improvements in generator.dart (#147) * Add optionalBody parameter to suppress warnings (#151) * Add optionalBody parameter to suppress warnings Fixes #149 * Improve formatting * Remove redundant _methodWithBody function Use a single source of truth (the method's optionalBody property) * Show optional body hint in warning message * Make optionalBody configurable for all methods Explicitly set the default value for every method * Specify type for optionalBody argument Co-authored-by: Wilko Manger <[email protected]> * Fix typo and invalid code sample in documentation (#156) * Preserve uri current query params in buildUri (#166) * This allows chopper API methods with generic attributes (#170) @post(path: URL.DOCUMENT_PRIOR_INFO) Future<Response<T>> getPriorInfo<T>(@Body() Params params); Which is usefull when single API method may respond differently depending on request parameter values. Co-authored-by: Aleksandr Malkov <[email protected]> * Make conversion helpers can be `async` (#175) #174 - locally tested * Dependency update (#178) Version bumped Removed Angular / Web examples With nullability added Update generator.dart Dependency cleanup Update pubspec.yaml Update pubspec.yaml * Re-add Angular example and fix travis (#181) Re add example removed here (https://github.com/lejard-h/chopper/pull/178/files) Upgrade to Angular 6, but I had to remove jaguar_serializer which is not maintain anymore (last update 1 year ago). Then use new Dart command to run pub, analyzer and formatter * Publish package from travis (#182) * fix * fix scopes * allow_failure * comment override * Add suport for JsonApi utf8 serialization (#185) * Add suport for JsonApi utf8 serialization * Move json api header into a constant * The Big Public API Documentation update, volume 1. (#189) * Update converters.md with wording and formatting fixes * Update the documentation of classes and functions in interceptor.dart * Update the documentation of classes and functions in base.dart * Update the documentation of public functions in utils.dart * Update the documentation of public classes and functions in request.dart * Update the documentation of public classes and functions in response.dart * Update the documentation of ConvertRequest, ConvertResponse, and FactoryConverter in annotations.dart * Fix typos in the documentation in annotations.dart * Remove TODO from ChopperService.definitionType's documentation * Add example usage to FactoryConverter's documentation * Fix accidental typo in ChopperService's class name * The Big Public API Documentation update, volume 2. (#193) * Update the documentation of BuiltValueConverter * Update the documentation and usage guide of BuiltValueConverter * Update description texts in pubspec.yaml files * Change homepage tag to documentation in chopper/pubspec.yaml * Change homepage tag to documentation in chopper_built_value/pubspec.yaml and make it point to its actual documentation page * Change homepage tag to documentation in chopper_generator/pubspec.yaml * Change homepage tag to documentation in chopper/example/pubspec.yaml and make it point to the actual documentation * Fix wording in chopper_generator/README.md * Fix wording in chopper_built_value/README.md * Fix HTML escape sequences escaping into markdown and inline docs; Fix code sample syntax errors in some docs Those pesky escapists. * Add dynamic version tag to built-value-converter.md * Fix typo in the package name in the installation section of built-value-converter.md * Fix typo in built-value-converter.md * Reorganize and update chopper/README.md * The Big Public API Documentation Update, volume 3. (#196) * Rework and update getting-started.md * Reword parts of the API docs in annotations.dart * Add description of path resolution behavior in requests.md This commit addresses issue #195 * Reword parts of the documentations in requests.md * Reword the error handling description in getting-started.md * Reword and update most of the documentation in requests.md * Add missing @s to annotation mentions in getting-started.md * Remove an unnecessary new line from getting-started.md * Add further explanation to an example service's create method in getting-started.md * Update the README of chopper_built_value * Update the README of chopper_generator * Update and reword top level README.md and chopper/README.md * Try to fix text formatting in requests.md * Fix wording requests.md's form URL encoded section * Remove unsafe hint on build_runner from getting-started.md * Implement authenticator (#198) * Implement authenticator * Changes for PR Co-authored-by: Ivan Terekhin <[email protected]> * Add Flutter Favorite badge (#206) * feature/updated doc (#214) * updated doc * fixed typo Co-authored-by: dafinrs <[email protected]> * Feature/support body get (#201) * Feature/null safety migration (#212) * Pubspec for ChopperBuiltValue * Begin resolving null safety dependencies * Initial change * Implement null safety on chopper_generator * Fix comments on PR * Fixed some comments * version updates * fixed issues with versions * fix comments on chopperClient nullability * fixed tests * Fixed issues with nullable client * Bumped build version to 2.0.0 * updated libs * made parts not nullable * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper_generator/pubspec.yaml Co-authored-by: Ivan Terekhin <[email protected]> * Fix for null safety in applyHeaders * More deps upgrade Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: István Juhos <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: uladzimir_paliukhovich <> * Add double quotes to Curl print String (#218) Prints the Curl URL wrapped with double-quotes. It fixes issues when pasting the resulting log to the command line, where the curl request in some cases would not be closed by the terminal or fail to execute. * Enable GitHub action (#216) * github acions with mono_repo * fail test * cleanup * badge * regenerate * regenerate * format * fix analyzer * fix analyzer * fix test * regenerate * cleanup badge * Naming fix * remove dev chanel * ignore vscode * revert readme change * remove travis * format * fix * fix * format * fix tests Co-authored-by: Ivan Terekhin <[email protected]> * Add an OPTIONS request type (#215) * Add an OPTIONS request type * Null safety fix Co-authored-by: Ivan Terekhin <[email protected]> * changelog * docs: add lejard-h as a contributor (#221) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add stewemetal as a contributor (#222) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add JEuler as a contributor (#223) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add fryette as a contributor (#224) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add Vovanella95 as a contributor (#225) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * update Changelog for 4.0.0 release (#220) * update Changelog * contributors * cleanup * changelog Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * cleanup * regenerate Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
@Aqluse yes someone has broken the implementation I wrote. It was originally
@stewemetal and friends this will now result in an infinite loop with current implementation. |
Let's fix it then :) |
I'm on holiday at the moment so will leave to those with Dev laptops and reliable internet. |
Thanks for pointing this out! This implementation has gone awkward at some point during the null safety migration. Would this change fix your use-case? It breaks the current Authenticator implementations, but it's just a first try on a quick fix: abstract class Authenticator {
FutureOr<Request?> authenticate(Request request, Response response);
}
// send()
...
if (authenticator != null) {
var updatedRequest = await authenticator!.authenticate(request, res);
if (updatedRequest != null) {
res = await send(updatedRequest);
}
}
... |
Looks good |
Fixed in #241 |
* Null safety (non stable version) (#219) * GZip note * Update faq.md * CR fixes * Moved to the faq.md * HTTP Auth example * CR fix * CR fix * Base url note Runtime base url note update Update faq.md * Packages upgraded (#142) * Release 3.0.3 * add develop branch to travis * fix travis badge * Make code quality improvements in generator.dart (#147) * Add optionalBody parameter to suppress warnings (#151) * Add optionalBody parameter to suppress warnings Fixes #149 * Improve formatting * Remove redundant _methodWithBody function Use a single source of truth (the method's optionalBody property) * Show optional body hint in warning message * Make optionalBody configurable for all methods Explicitly set the default value for every method * Specify type for optionalBody argument Co-authored-by: Wilko Manger <[email protected]> * Fix typo and invalid code sample in documentation (#156) * Preserve uri current query params in buildUri (#166) * This allows chopper API methods with generic attributes (#170) @post(path: URL.DOCUMENT_PRIOR_INFO) Future<Response<T>> getPriorInfo<T>(@Body() Params params); Which is usefull when single API method may respond differently depending on request parameter values. Co-authored-by: Aleksandr Malkov <[email protected]> * Make conversion helpers can be `async` (#175) #174 - locally tested * Dependency update (#178) Version bumped Removed Angular / Web examples With nullability added Update generator.dart Dependency cleanup Update pubspec.yaml Update pubspec.yaml * Re-add Angular example and fix travis (#181) Re add example removed here (https://github.com/lejard-h/chopper/pull/178/files) Upgrade to Angular 6, but I had to remove jaguar_serializer which is not maintain anymore (last update 1 year ago). Then use new Dart command to run pub, analyzer and formatter * Publish package from travis (#182) * fix * fix scopes * allow_failure * comment override * Add suport for JsonApi utf8 serialization (#185) * Add suport for JsonApi utf8 serialization * Move json api header into a constant * The Big Public API Documentation update, volume 1. (#189) * Update converters.md with wording and formatting fixes * Update the documentation of classes and functions in interceptor.dart * Update the documentation of classes and functions in base.dart * Update the documentation of public functions in utils.dart * Update the documentation of public classes and functions in request.dart * Update the documentation of public classes and functions in response.dart * Update the documentation of ConvertRequest, ConvertResponse, and FactoryConverter in annotations.dart * Fix typos in the documentation in annotations.dart * Remove TODO from ChopperService.definitionType's documentation * Add example usage to FactoryConverter's documentation * Fix accidental typo in ChopperService's class name * The Big Public API Documentation update, volume 2. (#193) * Update the documentation of BuiltValueConverter * Update the documentation and usage guide of BuiltValueConverter * Update description texts in pubspec.yaml files * Change homepage tag to documentation in chopper/pubspec.yaml * Change homepage tag to documentation in chopper_built_value/pubspec.yaml and make it point to its actual documentation page * Change homepage tag to documentation in chopper_generator/pubspec.yaml * Change homepage tag to documentation in chopper/example/pubspec.yaml and make it point to the actual documentation * Fix wording in chopper_generator/README.md * Fix wording in chopper_built_value/README.md * Fix HTML escape sequences escaping into markdown and inline docs; Fix code sample syntax errors in some docs Those pesky escapists. * Add dynamic version tag to built-value-converter.md * Fix typo in the package name in the installation section of built-value-converter.md * Fix typo in built-value-converter.md * Reorganize and update chopper/README.md * The Big Public API Documentation Update, volume 3. (#196) * Rework and update getting-started.md * Reword parts of the API docs in annotations.dart * Add description of path resolution behavior in requests.md This commit addresses issue #195 * Reword parts of the documentations in requests.md * Reword the error handling description in getting-started.md * Reword and update most of the documentation in requests.md * Add missing @s to annotation mentions in getting-started.md * Remove an unnecessary new line from getting-started.md * Add further explanation to an example service's create method in getting-started.md * Update the README of chopper_built_value * Update the README of chopper_generator * Update and reword top level README.md and chopper/README.md * Try to fix text formatting in requests.md * Fix wording requests.md's form URL encoded section * Remove unsafe hint on build_runner from getting-started.md * Implement authenticator (#198) * Implement authenticator * Changes for PR Co-authored-by: Ivan Terekhin <[email protected]> * Add Flutter Favorite badge (#206) * feature/updated doc (#214) * updated doc * fixed typo Co-authored-by: dafinrs <[email protected]> * Feature/support body get (#201) * Feature/null safety migration (#212) * Pubspec for ChopperBuiltValue * Begin resolving null safety dependencies * Initial change * Implement null safety on chopper_generator * Fix comments on PR * Fixed some comments * version updates * fixed issues with versions * fix comments on chopperClient nullability * fixed tests * Fixed issues with nullable client * Bumped build version to 2.0.0 * updated libs * made parts not nullable * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper_generator/pubspec.yaml Co-authored-by: Ivan Terekhin <[email protected]> * Fix for null safety in applyHeaders * More deps upgrade Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: István Juhos <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: uladzimir_paliukhovich <> * Add double quotes to Curl print String (#218) Prints the Curl URL wrapped with double-quotes. It fixes issues when pasting the resulting log to the command line, where the curl request in some cases would not be closed by the terminal or fail to execute. * Enable GitHub action (#216) * github acions with mono_repo * fail test * cleanup * badge * regenerate * regenerate * format * fix analyzer * fix analyzer * fix test * regenerate * cleanup badge * Naming fix * remove dev chanel * ignore vscode * revert readme change * remove travis * format * fix * fix * format * fix tests Co-authored-by: Ivan Terekhin <[email protected]> * Add an OPTIONS request type (#215) * Add an OPTIONS request type * Null safety fix Co-authored-by: Ivan Terekhin <[email protected]> * changelog * docs: add lejard-h as a contributor (#221) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add stewemetal as a contributor (#222) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add JEuler as a contributor (#223) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add fryette as a contributor (#224) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add Vovanella95 as a contributor (#225) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * update Changelog for 4.0.0 release (#220) * update Changelog * contributors * cleanup * changelog Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * fix params and headers * fix Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
* GZip note * Update faq.md * CR fixes * Moved to the faq.md * HTTP Auth example * CR fix * CR fix * Base url note Runtime base url note update Update faq.md * Packages upgraded (#142) * Release 3.0.3 * add develop branch to travis * fix travis badge * Make code quality improvements in generator.dart (#147) * Add optionalBody parameter to suppress warnings (#151) * Add optionalBody parameter to suppress warnings Fixes #149 * Improve formatting * Remove redundant _methodWithBody function Use a single source of truth (the method's optionalBody property) * Show optional body hint in warning message * Make optionalBody configurable for all methods Explicitly set the default value for every method * Specify type for optionalBody argument Co-authored-by: Wilko Manger <[email protected]> * Fix typo and invalid code sample in documentation (#156) * Preserve uri current query params in buildUri (#166) * This allows chopper API methods with generic attributes (#170) @post(path: URL.DOCUMENT_PRIOR_INFO) Future<Response<T>> getPriorInfo<T>(@Body() Params params); Which is usefull when single API method may respond differently depending on request parameter values. Co-authored-by: Aleksandr Malkov <[email protected]> * Make conversion helpers can be `async` (#175) #174 - locally tested * Dependency update (#178) Version bumped Removed Angular / Web examples With nullability added Update generator.dart Dependency cleanup Update pubspec.yaml Update pubspec.yaml * Re-add Angular example and fix travis (#181) Re add example removed here (https://github.com/lejard-h/chopper/pull/178/files) Upgrade to Angular 6, but I had to remove jaguar_serializer which is not maintain anymore (last update 1 year ago). Then use new Dart command to run pub, analyzer and formatter * Publish package from travis (#182) * fix * fix scopes * allow_failure * comment override * Add suport for JsonApi utf8 serialization (#185) * Add suport for JsonApi utf8 serialization * Move json api header into a constant * The Big Public API Documentation update, volume 1. (#189) * Update converters.md with wording and formatting fixes * Update the documentation of classes and functions in interceptor.dart * Update the documentation of classes and functions in base.dart * Update the documentation of public functions in utils.dart * Update the documentation of public classes and functions in request.dart * Update the documentation of public classes and functions in response.dart * Update the documentation of ConvertRequest, ConvertResponse, and FactoryConverter in annotations.dart * Fix typos in the documentation in annotations.dart * Remove TODO from ChopperService.definitionType's documentation * Add example usage to FactoryConverter's documentation * Fix accidental typo in ChopperService's class name * The Big Public API Documentation update, volume 2. (#193) * Update the documentation of BuiltValueConverter * Update the documentation and usage guide of BuiltValueConverter * Update description texts in pubspec.yaml files * Change homepage tag to documentation in chopper/pubspec.yaml * Change homepage tag to documentation in chopper_built_value/pubspec.yaml and make it point to its actual documentation page * Change homepage tag to documentation in chopper_generator/pubspec.yaml * Change homepage tag to documentation in chopper/example/pubspec.yaml and make it point to the actual documentation * Fix wording in chopper_generator/README.md * Fix wording in chopper_built_value/README.md * Fix HTML escape sequences escaping into markdown and inline docs; Fix code sample syntax errors in some docs Those pesky escapists. * Add dynamic version tag to built-value-converter.md * Fix typo in the package name in the installation section of built-value-converter.md * Fix typo in built-value-converter.md * Reorganize and update chopper/README.md * The Big Public API Documentation Update, volume 3. (#196) * Rework and update getting-started.md * Reword parts of the API docs in annotations.dart * Add description of path resolution behavior in requests.md This commit addresses issue #195 * Reword parts of the documentations in requests.md * Reword the error handling description in getting-started.md * Reword and update most of the documentation in requests.md * Add missing @s to annotation mentions in getting-started.md * Remove an unnecessary new line from getting-started.md * Add further explanation to an example service's create method in getting-started.md * Update the README of chopper_built_value * Update the README of chopper_generator * Update and reword top level README.md and chopper/README.md * Try to fix text formatting in requests.md * Fix wording requests.md's form URL encoded section * Remove unsafe hint on build_runner from getting-started.md * Implement authenticator (#198) * Implement authenticator * Changes for PR Co-authored-by: Ivan Terekhin <[email protected]> * Add Flutter Favorite badge (#206) * feature/updated doc (#214) * updated doc * fixed typo Co-authored-by: dafinrs <[email protected]> * Feature/support body get (#201) * Feature/null safety migration (#212) * Pubspec for ChopperBuiltValue * Begin resolving null safety dependencies * Initial change * Implement null safety on chopper_generator * Fix comments on PR * Fixed some comments * version updates * fixed issues with versions * fix comments on chopperClient nullability * fixed tests * Fixed issues with nullable client * Bumped build version to 2.0.0 * updated libs * made parts not nullable * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper_generator/pubspec.yaml Co-authored-by: Ivan Terekhin <[email protected]> * Fix for null safety in applyHeaders * More deps upgrade Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: István Juhos <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: uladzimir_paliukhovich <> * Add double quotes to Curl print String (#218) Prints the Curl URL wrapped with double-quotes. It fixes issues when pasting the resulting log to the command line, where the curl request in some cases would not be closed by the terminal or fail to execute. * Enable GitHub action (#216) * github acions with mono_repo * fail test * cleanup * badge * regenerate * regenerate * format * fix analyzer * fix analyzer * fix test * regenerate * cleanup badge * Naming fix * remove dev chanel * ignore vscode * revert readme change * remove travis * format * fix * fix * format * fix tests Co-authored-by: Ivan Terekhin <[email protected]> * Add an OPTIONS request type (#215) * Add an OPTIONS request type * Null safety fix Co-authored-by: Ivan Terekhin <[email protected]> * changelog * docs: add lejard-h as a contributor (#221) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add stewemetal as a contributor (#222) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add JEuler as a contributor (#223) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add fryette as a contributor (#224) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add Vovanella95 as a contributor (#225) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * update Changelog for 4.0.0 release (#220) * update Changelog * contributors * cleanup * changelog * flutter fav badge * Fix Flutter favorites badge (#234) * chopper_built_value - null safety support (#231) * Fix typo in converters.md (#236) * Cleanup deprecated (#228) * remove deprecated filefield * Request.replace * PartValue.replace * Response.replace * cleanup * add chopper_built_value to github actions (#232) * Cleanup nullable hashmap APIs (#233) * GIthub actions - code coverage (#229) * coverage * coverage test * push * regenerate * regenerate * token * fix * fix * fix fix fix * dart action * cleanup * Null safety (non stable version) (#219) * GZip note * Update faq.md * CR fixes * Moved to the faq.md * HTTP Auth example * CR fix * CR fix * Base url note Runtime base url note update Update faq.md * Packages upgraded (#142) * Release 3.0.3 * add develop branch to travis * fix travis badge * Make code quality improvements in generator.dart (#147) * Add optionalBody parameter to suppress warnings (#151) * Add optionalBody parameter to suppress warnings Fixes #149 * Improve formatting * Remove redundant _methodWithBody function Use a single source of truth (the method's optionalBody property) * Show optional body hint in warning message * Make optionalBody configurable for all methods Explicitly set the default value for every method * Specify type for optionalBody argument Co-authored-by: Wilko Manger <[email protected]> * Fix typo and invalid code sample in documentation (#156) * Preserve uri current query params in buildUri (#166) * This allows chopper API methods with generic attributes (#170) @post(path: URL.DOCUMENT_PRIOR_INFO) Future<Response<T>> getPriorInfo<T>(@Body() Params params); Which is usefull when single API method may respond differently depending on request parameter values. Co-authored-by: Aleksandr Malkov <[email protected]> * Make conversion helpers can be `async` (#175) #174 - locally tested * Dependency update (#178) Version bumped Removed Angular / Web examples With nullability added Update generator.dart Dependency cleanup Update pubspec.yaml Update pubspec.yaml * Re-add Angular example and fix travis (#181) Re add example removed here (https://github.com/lejard-h/chopper/pull/178/files) Upgrade to Angular 6, but I had to remove jaguar_serializer which is not maintain anymore (last update 1 year ago). Then use new Dart command to run pub, analyzer and formatter * Publish package from travis (#182) * fix * fix scopes * allow_failure * comment override * Add suport for JsonApi utf8 serialization (#185) * Add suport for JsonApi utf8 serialization * Move json api header into a constant * The Big Public API Documentation update, volume 1. (#189) * Update converters.md with wording and formatting fixes * Update the documentation of classes and functions in interceptor.dart * Update the documentation of classes and functions in base.dart * Update the documentation of public functions in utils.dart * Update the documentation of public classes and functions in request.dart * Update the documentation of public classes and functions in response.dart * Update the documentation of ConvertRequest, ConvertResponse, and FactoryConverter in annotations.dart * Fix typos in the documentation in annotations.dart * Remove TODO from ChopperService.definitionType's documentation * Add example usage to FactoryConverter's documentation * Fix accidental typo in ChopperService's class name * The Big Public API Documentation update, volume 2. (#193) * Update the documentation of BuiltValueConverter * Update the documentation and usage guide of BuiltValueConverter * Update description texts in pubspec.yaml files * Change homepage tag to documentation in chopper/pubspec.yaml * Change homepage tag to documentation in chopper_built_value/pubspec.yaml and make it point to its actual documentation page * Change homepage tag to documentation in chopper_generator/pubspec.yaml * Change homepage tag to documentation in chopper/example/pubspec.yaml and make it point to the actual documentation * Fix wording in chopper_generator/README.md * Fix wording in chopper_built_value/README.md * Fix HTML escape sequences escaping into markdown and inline docs; Fix code sample syntax errors in some docs Those pesky escapists. * Add dynamic version tag to built-value-converter.md * Fix typo in the package name in the installation section of built-value-converter.md * Fix typo in built-value-converter.md * Reorganize and update chopper/README.md * The Big Public API Documentation Update, volume 3. (#196) * Rework and update getting-started.md * Reword parts of the API docs in annotations.dart * Add description of path resolution behavior in requests.md This commit addresses issue #195 * Reword parts of the documentations in requests.md * Reword the error handling description in getting-started.md * Reword and update most of the documentation in requests.md * Add missing @s to annotation mentions in getting-started.md * Remove an unnecessary new line from getting-started.md * Add further explanation to an example service's create method in getting-started.md * Update the README of chopper_built_value * Update the README of chopper_generator * Update and reword top level README.md and chopper/README.md * Try to fix text formatting in requests.md * Fix wording requests.md's form URL encoded section * Remove unsafe hint on build_runner from getting-started.md * Implement authenticator (#198) * Implement authenticator * Changes for PR Co-authored-by: Ivan Terekhin <[email protected]> * Add Flutter Favorite badge (#206) * feature/updated doc (#214) * updated doc * fixed typo Co-authored-by: dafinrs <[email protected]> * Feature/support body get (#201) * Feature/null safety migration (#212) * Pubspec for ChopperBuiltValue * Begin resolving null safety dependencies * Initial change * Implement null safety on chopper_generator * Fix comments on PR * Fixed some comments * version updates * fixed issues with versions * fix comments on chopperClient nullability * fixed tests * Fixed issues with nullable client * Bumped build version to 2.0.0 * updated libs * made parts not nullable * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper_generator/pubspec.yaml Co-authored-by: Ivan Terekhin <[email protected]> * Fix for null safety in applyHeaders * More deps upgrade Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: István Juhos <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: uladzimir_paliukhovich <> * Add double quotes to Curl print String (#218) Prints the Curl URL wrapped with double-quotes. It fixes issues when pasting the resulting log to the command line, where the curl request in some cases would not be closed by the terminal or fail to execute. * Enable GitHub action (#216) * github acions with mono_repo * fail test * cleanup * badge * regenerate * regenerate * format * fix analyzer * fix analyzer * fix test * regenerate * cleanup badge * Naming fix * remove dev chanel * ignore vscode * revert readme change * remove travis * format * fix * fix * format * fix tests Co-authored-by: Ivan Terekhin <[email protected]> * Add an OPTIONS request type (#215) * Add an OPTIONS request type * Null safety fix Co-authored-by: Ivan Terekhin <[email protected]> * changelog * docs: add lejard-h as a contributor (#221) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add stewemetal as a contributor (#222) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add JEuler as a contributor (#223) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add fryette as a contributor (#224) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add Vovanella95 as a contributor (#225) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * update Changelog for 4.0.0 release (#220) * update Changelog * contributors * cleanup * changelog Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * cleanup * regenerate Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * Fix infinite loop when using Authenticators (#241) * Generator - fix headers and required parameters (#239) * Null safety (non stable version) (#219) * GZip note * Update faq.md * CR fixes * Moved to the faq.md * HTTP Auth example * CR fix * CR fix * Base url note Runtime base url note update Update faq.md * Packages upgraded (#142) * Release 3.0.3 * add develop branch to travis * fix travis badge * Make code quality improvements in generator.dart (#147) * Add optionalBody parameter to suppress warnings (#151) * Add optionalBody parameter to suppress warnings Fixes #149 * Improve formatting * Remove redundant _methodWithBody function Use a single source of truth (the method's optionalBody property) * Show optional body hint in warning message * Make optionalBody configurable for all methods Explicitly set the default value for every method * Specify type for optionalBody argument Co-authored-by: Wilko Manger <[email protected]> * Fix typo and invalid code sample in documentation (#156) * Preserve uri current query params in buildUri (#166) * This allows chopper API methods with generic attributes (#170) @post(path: URL.DOCUMENT_PRIOR_INFO) Future<Response<T>> getPriorInfo<T>(@Body() Params params); Which is usefull when single API method may respond differently depending on request parameter values. Co-authored-by: Aleksandr Malkov <[email protected]> * Make conversion helpers can be `async` (#175) #174 - locally tested * Dependency update (#178) Version bumped Removed Angular / Web examples With nullability added Update generator.dart Dependency cleanup Update pubspec.yaml Update pubspec.yaml * Re-add Angular example and fix travis (#181) Re add example removed here (https://github.com/lejard-h/chopper/pull/178/files) Upgrade to Angular 6, but I had to remove jaguar_serializer which is not maintain anymore (last update 1 year ago). Then use new Dart command to run pub, analyzer and formatter * Publish package from travis (#182) * fix * fix scopes * allow_failure * comment override * Add suport for JsonApi utf8 serialization (#185) * Add suport for JsonApi utf8 serialization * Move json api header into a constant * The Big Public API Documentation update, volume 1. (#189) * Update converters.md with wording and formatting fixes * Update the documentation of classes and functions in interceptor.dart * Update the documentation of classes and functions in base.dart * Update the documentation of public functions in utils.dart * Update the documentation of public classes and functions in request.dart * Update the documentation of public classes and functions in response.dart * Update the documentation of ConvertRequest, ConvertResponse, and FactoryConverter in annotations.dart * Fix typos in the documentation in annotations.dart * Remove TODO from ChopperService.definitionType's documentation * Add example usage to FactoryConverter's documentation * Fix accidental typo in ChopperService's class name * The Big Public API Documentation update, volume 2. (#193) * Update the documentation of BuiltValueConverter * Update the documentation and usage guide of BuiltValueConverter * Update description texts in pubspec.yaml files * Change homepage tag to documentation in chopper/pubspec.yaml * Change homepage tag to documentation in chopper_built_value/pubspec.yaml and make it point to its actual documentation page * Change homepage tag to documentation in chopper_generator/pubspec.yaml * Change homepage tag to documentation in chopper/example/pubspec.yaml and make it point to the actual documentation * Fix wording in chopper_generator/README.md * Fix wording in chopper_built_value/README.md * Fix HTML escape sequences escaping into markdown and inline docs; Fix code sample syntax errors in some docs Those pesky escapists. * Add dynamic version tag to built-value-converter.md * Fix typo in the package name in the installation section of built-value-converter.md * Fix typo in built-value-converter.md * Reorganize and update chopper/README.md * The Big Public API Documentation Update, volume 3. (#196) * Rework and update getting-started.md * Reword parts of the API docs in annotations.dart * Add description of path resolution behavior in requests.md This commit addresses issue #195 * Reword parts of the documentations in requests.md * Reword the error handling description in getting-started.md * Reword and update most of the documentation in requests.md * Add missing @s to annotation mentions in getting-started.md * Remove an unnecessary new line from getting-started.md * Add further explanation to an example service's create method in getting-started.md * Update the README of chopper_built_value * Update the README of chopper_generator * Update and reword top level README.md and chopper/README.md * Try to fix text formatting in requests.md * Fix wording requests.md's form URL encoded section * Remove unsafe hint on build_runner from getting-started.md * Implement authenticator (#198) * Implement authenticator * Changes for PR Co-authored-by: Ivan Terekhin <[email protected]> * Add Flutter Favorite badge (#206) * feature/updated doc (#214) * updated doc * fixed typo Co-authored-by: dafinrs <[email protected]> * Feature/support body get (#201) * Feature/null safety migration (#212) * Pubspec for ChopperBuiltValue * Begin resolving null safety dependencies * Initial change * Implement null safety on chopper_generator * Fix comments on PR * Fixed some comments * version updates * fixed issues with versions * fix comments on chopperClient nullability * fixed tests * Fixed issues with nullable client * Bumped build version to 2.0.0 * updated libs * made parts not nullable * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper_generator/pubspec.yaml Co-authored-by: Ivan Terekhin <[email protected]> * Fix for null safety in applyHeaders * More deps upgrade Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: István Juhos <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: uladzimir_paliukhovich <> * Add double quotes to Curl print String (#218) Prints the Curl URL wrapped with double-quotes. It fixes issues when pasting the resulting log to the command line, where the curl request in some cases would not be closed by the terminal or fail to execute. * Enable GitHub action (#216) * github acions with mono_repo * fail test * cleanup * badge * regenerate * regenerate * format * fix analyzer * fix analyzer * fix test * regenerate * cleanup badge * Naming fix * remove dev chanel * ignore vscode * revert readme change * remove travis * format * fix * fix * format * fix tests Co-authored-by: Ivan Terekhin <[email protected]> * Add an OPTIONS request type (#215) * Add an OPTIONS request type * Null safety fix Co-authored-by: Ivan Terekhin <[email protected]> * changelog * docs: add lejard-h as a contributor (#221) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add stewemetal as a contributor (#222) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add JEuler as a contributor (#223) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add fryette as a contributor (#224) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add Vovanella95 as a contributor (#225) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * update Changelog for 4.0.0 release (#220) * update Changelog * contributors * cleanup * changelog Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * fix params and headers * fix Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * 4.0.0-nullsafety.1 * chopper_built_value 1.0.0-nullsafety.0 Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
* GZip note * Update faq.md * CR fixes * Moved to the faq.md * HTTP Auth example * CR fix * CR fix * Base url note Runtime base url note update Update faq.md * Packages upgraded (#142) * Release 3.0.3 * add develop branch to travis * fix travis badge * Make code quality improvements in generator.dart (#147) * Add optionalBody parameter to suppress warnings (#151) * Add optionalBody parameter to suppress warnings Fixes #149 * Improve formatting * Remove redundant _methodWithBody function Use a single source of truth (the method's optionalBody property) * Show optional body hint in warning message * Make optionalBody configurable for all methods Explicitly set the default value for every method * Specify type for optionalBody argument Co-authored-by: Wilko Manger <[email protected]> * Fix typo and invalid code sample in documentation (#156) * Preserve uri current query params in buildUri (#166) * This allows chopper API methods with generic attributes (#170) @post(path: URL.DOCUMENT_PRIOR_INFO) Future<Response<T>> getPriorInfo<T>(@Body() Params params); Which is usefull when single API method may respond differently depending on request parameter values. Co-authored-by: Aleksandr Malkov <[email protected]> * Make conversion helpers can be `async` (#175) #174 - locally tested * Dependency update (#178) Version bumped Removed Angular / Web examples With nullability added Update generator.dart Dependency cleanup Update pubspec.yaml Update pubspec.yaml * Re-add Angular example and fix travis (#181) Re add example removed here (https://github.com/lejard-h/chopper/pull/178/files) Upgrade to Angular 6, but I had to remove jaguar_serializer which is not maintain anymore (last update 1 year ago). Then use new Dart command to run pub, analyzer and formatter * Publish package from travis (#182) * fix * fix scopes * allow_failure * comment override * Add suport for JsonApi utf8 serialization (#185) * Add suport for JsonApi utf8 serialization * Move json api header into a constant * The Big Public API Documentation update, volume 1. (#189) * Update converters.md with wording and formatting fixes * Update the documentation of classes and functions in interceptor.dart * Update the documentation of classes and functions in base.dart * Update the documentation of public functions in utils.dart * Update the documentation of public classes and functions in request.dart * Update the documentation of public classes and functions in response.dart * Update the documentation of ConvertRequest, ConvertResponse, and FactoryConverter in annotations.dart * Fix typos in the documentation in annotations.dart * Remove TODO from ChopperService.definitionType's documentation * Add example usage to FactoryConverter's documentation * Fix accidental typo in ChopperService's class name * The Big Public API Documentation update, volume 2. (#193) * Update the documentation of BuiltValueConverter * Update the documentation and usage guide of BuiltValueConverter * Update description texts in pubspec.yaml files * Change homepage tag to documentation in chopper/pubspec.yaml * Change homepage tag to documentation in chopper_built_value/pubspec.yaml and make it point to its actual documentation page * Change homepage tag to documentation in chopper_generator/pubspec.yaml * Change homepage tag to documentation in chopper/example/pubspec.yaml and make it point to the actual documentation * Fix wording in chopper_generator/README.md * Fix wording in chopper_built_value/README.md * Fix HTML escape sequences escaping into markdown and inline docs; Fix code sample syntax errors in some docs Those pesky escapists. * Add dynamic version tag to built-value-converter.md * Fix typo in the package name in the installation section of built-value-converter.md * Fix typo in built-value-converter.md * Reorganize and update chopper/README.md * The Big Public API Documentation Update, volume 3. (#196) * Rework and update getting-started.md * Reword parts of the API docs in annotations.dart * Add description of path resolution behavior in requests.md This commit addresses issue #195 * Reword parts of the documentations in requests.md * Reword the error handling description in getting-started.md * Reword and update most of the documentation in requests.md * Add missing @s to annotation mentions in getting-started.md * Remove an unnecessary new line from getting-started.md * Add further explanation to an example service's create method in getting-started.md * Update the README of chopper_built_value * Update the README of chopper_generator * Update and reword top level README.md and chopper/README.md * Try to fix text formatting in requests.md * Fix wording requests.md's form URL encoded section * Remove unsafe hint on build_runner from getting-started.md * Implement authenticator (#198) * Implement authenticator * Changes for PR Co-authored-by: Ivan Terekhin <[email protected]> * Add Flutter Favorite badge (#206) * feature/updated doc (#214) * updated doc * fixed typo Co-authored-by: dafinrs <[email protected]> * Feature/support body get (#201) * Feature/null safety migration (#212) * Pubspec for ChopperBuiltValue * Begin resolving null safety dependencies * Initial change * Implement null safety on chopper_generator * Fix comments on PR * Fixed some comments * version updates * fixed issues with versions * fix comments on chopperClient nullability * fixed tests * Fixed issues with nullable client * Bumped build version to 2.0.0 * updated libs * made parts not nullable * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper_generator/pubspec.yaml Co-authored-by: Ivan Terekhin <[email protected]> * Fix for null safety in applyHeaders * More deps upgrade Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: István Juhos <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: uladzimir_paliukhovich <> * Add double quotes to Curl print String (#218) Prints the Curl URL wrapped with double-quotes. It fixes issues when pasting the resulting log to the command line, where the curl request in some cases would not be closed by the terminal or fail to execute. * Enable GitHub action (#216) * github acions with mono_repo * fail test * cleanup * badge * regenerate * regenerate * format * fix analyzer * fix analyzer * fix test * regenerate * cleanup badge * Naming fix * remove dev chanel * ignore vscode * revert readme change * remove travis * format * fix * fix * format * fix tests Co-authored-by: Ivan Terekhin <[email protected]> * Add an OPTIONS request type (#215) * Add an OPTIONS request type * Null safety fix Co-authored-by: Ivan Terekhin <[email protected]> * changelog * docs: add lejard-h as a contributor (#221) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add stewemetal as a contributor (#222) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add JEuler as a contributor (#223) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add fryette as a contributor (#224) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add Vovanella95 as a contributor (#225) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * update Changelog for 4.0.0 release (#220) * update Changelog * contributors * cleanup * changelog * flutter fav badge * Fix Flutter favorites badge (#234) * chopper_built_value - null safety support (#231) * Fix typo in converters.md (#236) * Cleanup deprecated (#228) * remove deprecated filefield * Request.replace * PartValue.replace * Response.replace * cleanup * add chopper_built_value to github actions (#232) * Cleanup nullable hashmap APIs (#233) * GIthub actions - code coverage (#229) * coverage * coverage test * push * regenerate * regenerate * token * fix * fix * fix fix fix * dart action * cleanup * Null safety (non stable version) (#219) * GZip note * Update faq.md * CR fixes * Moved to the faq.md * HTTP Auth example * CR fix * CR fix * Base url note Runtime base url note update Update faq.md * Packages upgraded (#142) * Release 3.0.3 * add develop branch to travis * fix travis badge * Make code quality improvements in generator.dart (#147) * Add optionalBody parameter to suppress warnings (#151) * Add optionalBody parameter to suppress warnings Fixes #149 * Improve formatting * Remove redundant _methodWithBody function Use a single source of truth (the method's optionalBody property) * Show optional body hint in warning message * Make optionalBody configurable for all methods Explicitly set the default value for every method * Specify type for optionalBody argument Co-authored-by: Wilko Manger <[email protected]> * Fix typo and invalid code sample in documentation (#156) * Preserve uri current query params in buildUri (#166) * This allows chopper API methods with generic attributes (#170) @post(path: URL.DOCUMENT_PRIOR_INFO) Future<Response<T>> getPriorInfo<T>(@Body() Params params); Which is usefull when single API method may respond differently depending on request parameter values. Co-authored-by: Aleksandr Malkov <[email protected]> * Make conversion helpers can be `async` (#175) #174 - locally tested * Dependency update (#178) Version bumped Removed Angular / Web examples With nullability added Update generator.dart Dependency cleanup Update pubspec.yaml Update pubspec.yaml * Re-add Angular example and fix travis (#181) Re add example removed here (https://github.com/lejard-h/chopper/pull/178/files) Upgrade to Angular 6, but I had to remove jaguar_serializer which is not maintain anymore (last update 1 year ago). Then use new Dart command to run pub, analyzer and formatter * Publish package from travis (#182) * fix * fix scopes * allow_failure * comment override * Add suport for JsonApi utf8 serialization (#185) * Add suport for JsonApi utf8 serialization * Move json api header into a constant * The Big Public API Documentation update, volume 1. (#189) * Update converters.md with wording and formatting fixes * Update the documentation of classes and functions in interceptor.dart * Update the documentation of classes and functions in base.dart * Update the documentation of public functions in utils.dart * Update the documentation of public classes and functions in request.dart * Update the documentation of public classes and functions in response.dart * Update the documentation of ConvertRequest, ConvertResponse, and FactoryConverter in annotations.dart * Fix typos in the documentation in annotations.dart * Remove TODO from ChopperService.definitionType's documentation * Add example usage to FactoryConverter's documentation * Fix accidental typo in ChopperService's class name * The Big Public API Documentation update, volume 2. (#193) * Update the documentation of BuiltValueConverter * Update the documentation and usage guide of BuiltValueConverter * Update description texts in pubspec.yaml files * Change homepage tag to documentation in chopper/pubspec.yaml * Change homepage tag to documentation in chopper_built_value/pubspec.yaml and make it point to its actual documentation page * Change homepage tag to documentation in chopper_generator/pubspec.yaml * Change homepage tag to documentation in chopper/example/pubspec.yaml and make it point to the actual documentation * Fix wording in chopper_generator/README.md * Fix wording in chopper_built_value/README.md * Fix HTML escape sequences escaping into markdown and inline docs; Fix code sample syntax errors in some docs Those pesky escapists. * Add dynamic version tag to built-value-converter.md * Fix typo in the package name in the installation section of built-value-converter.md * Fix typo in built-value-converter.md * Reorganize and update chopper/README.md * The Big Public API Documentation Update, volume 3. (#196) * Rework and update getting-started.md * Reword parts of the API docs in annotations.dart * Add description of path resolution behavior in requests.md This commit addresses issue #195 * Reword parts of the documentations in requests.md * Reword the error handling description in getting-started.md * Reword and update most of the documentation in requests.md * Add missing @s to annotation mentions in getting-started.md * Remove an unnecessary new line from getting-started.md * Add further explanation to an example service's create method in getting-started.md * Update the README of chopper_built_value * Update the README of chopper_generator * Update and reword top level README.md and chopper/README.md * Try to fix text formatting in requests.md * Fix wording requests.md's form URL encoded section * Remove unsafe hint on build_runner from getting-started.md * Implement authenticator (#198) * Implement authenticator * Changes for PR Co-authored-by: Ivan Terekhin <[email protected]> * Add Flutter Favorite badge (#206) * feature/updated doc (#214) * updated doc * fixed typo Co-authored-by: dafinrs <[email protected]> * Feature/support body get (#201) * Feature/null safety migration (#212) * Pubspec for ChopperBuiltValue * Begin resolving null safety dependencies * Initial change * Implement null safety on chopper_generator * Fix comments on PR * Fixed some comments * version updates * fixed issues with versions * fix comments on chopperClient nullability * fixed tests * Fixed issues with nullable client * Bumped build version to 2.0.0 * updated libs * made parts not nullable * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper_generator/pubspec.yaml Co-authored-by: Ivan Terekhin <[email protected]> * Fix for null safety in applyHeaders * More deps upgrade Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: István Juhos <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: uladzimir_paliukhovich <> * Add double quotes to Curl print String (#218) Prints the Curl URL wrapped with double-quotes. It fixes issues when pasting the resulting log to the command line, where the curl request in some cases would not be closed by the terminal or fail to execute. * Enable GitHub action (#216) * github acions with mono_repo * fail test * cleanup * badge * regenerate * regenerate * format * fix analyzer * fix analyzer * fix test * regenerate * cleanup badge * Naming fix * remove dev chanel * ignore vscode * revert readme change * remove travis * format * fix * fix * format * fix tests Co-authored-by: Ivan Terekhin <[email protected]> * Add an OPTIONS request type (#215) * Add an OPTIONS request type * Null safety fix Co-authored-by: Ivan Terekhin <[email protected]> * changelog * docs: add lejard-h as a contributor (#221) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add stewemetal as a contributor (#222) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add JEuler as a contributor (#223) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add fryette as a contributor (#224) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add Vovanella95 as a contributor (#225) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * update Changelog for 4.0.0 release (#220) * update Changelog * contributors * cleanup * changelog Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * cleanup * regenerate Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * Fix infinite loop when using Authenticators (#241) * Generator - fix headers and required parameters (#239) * Null safety (non stable version) (#219) * GZip note * Update faq.md * CR fixes * Moved to the faq.md * HTTP Auth example * CR fix * CR fix * Base url note Runtime base url note update Update faq.md * Packages upgraded (#142) * Release 3.0.3 * add develop branch to travis * fix travis badge * Make code quality improvements in generator.dart (#147) * Add optionalBody parameter to suppress warnings (#151) * Add optionalBody parameter to suppress warnings Fixes #149 * Improve formatting * Remove redundant _methodWithBody function Use a single source of truth (the method's optionalBody property) * Show optional body hint in warning message * Make optionalBody configurable for all methods Explicitly set the default value for every method * Specify type for optionalBody argument Co-authored-by: Wilko Manger <[email protected]> * Fix typo and invalid code sample in documentation (#156) * Preserve uri current query params in buildUri (#166) * This allows chopper API methods with generic attributes (#170) @post(path: URL.DOCUMENT_PRIOR_INFO) Future<Response<T>> getPriorInfo<T>(@Body() Params params); Which is usefull when single API method may respond differently depending on request parameter values. Co-authored-by: Aleksandr Malkov <[email protected]> * Make conversion helpers can be `async` (#175) #174 - locally tested * Dependency update (#178) Version bumped Removed Angular / Web examples With nullability added Update generator.dart Dependency cleanup Update pubspec.yaml Update pubspec.yaml * Re-add Angular example and fix travis (#181) Re add example removed here (https://github.com/lejard-h/chopper/pull/178/files) Upgrade to Angular 6, but I had to remove jaguar_serializer which is not maintain anymore (last update 1 year ago). Then use new Dart command to run pub, analyzer and formatter * Publish package from travis (#182) * fix * fix scopes * allow_failure * comment override * Add suport for JsonApi utf8 serialization (#185) * Add suport for JsonApi utf8 serialization * Move json api header into a constant * The Big Public API Documentation update, volume 1. (#189) * Update converters.md with wording and formatting fixes * Update the documentation of classes and functions in interceptor.dart * Update the documentation of classes and functions in base.dart * Update the documentation of public functions in utils.dart * Update the documentation of public classes and functions in request.dart * Update the documentation of public classes and functions in response.dart * Update the documentation of ConvertRequest, ConvertResponse, and FactoryConverter in annotations.dart * Fix typos in the documentation in annotations.dart * Remove TODO from ChopperService.definitionType's documentation * Add example usage to FactoryConverter's documentation * Fix accidental typo in ChopperService's class name * The Big Public API Documentation update, volume 2. (#193) * Update the documentation of BuiltValueConverter * Update the documentation and usage guide of BuiltValueConverter * Update description texts in pubspec.yaml files * Change homepage tag to documentation in chopper/pubspec.yaml * Change homepage tag to documentation in chopper_built_value/pubspec.yaml and make it point to its actual documentation page * Change homepage tag to documentation in chopper_generator/pubspec.yaml * Change homepage tag to documentation in chopper/example/pubspec.yaml and make it point to the actual documentation * Fix wording in chopper_generator/README.md * Fix wording in chopper_built_value/README.md * Fix HTML escape sequences escaping into markdown and inline docs; Fix code sample syntax errors in some docs Those pesky escapists. * Add dynamic version tag to built-value-converter.md * Fix typo in the package name in the installation section of built-value-converter.md * Fix typo in built-value-converter.md * Reorganize and update chopper/README.md * The Big Public API Documentation Update, volume 3. (#196) * Rework and update getting-started.md * Reword parts of the API docs in annotations.dart * Add description of path resolution behavior in requests.md This commit addresses issue #195 * Reword parts of the documentations in requests.md * Reword the error handling description in getting-started.md * Reword and update most of the documentation in requests.md * Add missing @s to annotation mentions in getting-started.md * Remove an unnecessary new line from getting-started.md * Add further explanation to an example service's create method in getting-started.md * Update the README of chopper_built_value * Update the README of chopper_generator * Update and reword top level README.md and chopper/README.md * Try to fix text formatting in requests.md * Fix wording requests.md's form URL encoded section * Remove unsafe hint on build_runner from getting-started.md * Implement authenticator (#198) * Implement authenticator * Changes for PR Co-authored-by: Ivan Terekhin <[email protected]> * Add Flutter Favorite badge (#206) * feature/updated doc (#214) * updated doc * fixed typo Co-authored-by: dafinrs <[email protected]> * Feature/support body get (#201) * Feature/null safety migration (#212) * Pubspec for ChopperBuiltValue * Begin resolving null safety dependencies * Initial change * Implement null safety on chopper_generator * Fix comments on PR * Fixed some comments * version updates * fixed issues with versions * fix comments on chopperClient nullability * fixed tests * Fixed issues with nullable client * Bumped build version to 2.0.0 * updated libs * made parts not nullable * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper/README.md Co-authored-by: Ivan Terekhin <[email protected]> * Update chopper_generator/pubspec.yaml Co-authored-by: Ivan Terekhin <[email protected]> * Fix for null safety in applyHeaders * More deps upgrade Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: István Juhos <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: uladzimir_paliukhovich <> * Add double quotes to Curl print String (#218) Prints the Curl URL wrapped with double-quotes. It fixes issues when pasting the resulting log to the command line, where the curl request in some cases would not be closed by the terminal or fail to execute. * Enable GitHub action (#216) * github acions with mono_repo * fail test * cleanup * badge * regenerate * regenerate * format * fix analyzer * fix analyzer * fix test * regenerate * cleanup badge * Naming fix * remove dev chanel * ignore vscode * revert readme change * remove travis * format * fix * fix * format * fix tests Co-authored-by: Ivan Terekhin <[email protected]> * Add an OPTIONS request type (#215) * Add an OPTIONS request type * Null safety fix Co-authored-by: Ivan Terekhin <[email protected]> * changelog * docs: add lejard-h as a contributor (#221) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * docs: add stewemetal as a contributor (#222) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add JEuler as a contributor (#223) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add fryette as a contributor (#224) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * docs: add Vovanella95 as a contributor (#225) * docs: update README.md [skip ci] * docs: create .all-contributorsrc [skip ci] Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> Co-authored-by: Hadrien Lejard <[email protected]> * update Changelog for 4.0.0 release (#220) * update Changelog * contributors * cleanup * changelog Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * fix params and headers * fix Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> * 4.0.0-nullsafety.1 * chopper_built_value 1.0.0-nullsafety.0 * Authenticator exported in chopper.dart (#247) * Generator upgrade (#248) * Update pubspec.yaml * More packages upgraded * Generator null safety fix * Null safety stable (#253) * github actions publish workflow * rename * comment before publish * comment overrides Co-authored-by: Ivan Terekhin <[email protected]> Co-authored-by: Juhos István <[email protected]> Co-authored-by: Louis Matthijssen <[email protected]> Co-authored-by: Wilko Manger <[email protected]> Co-authored-by: Tamas Balogh <[email protected]> Co-authored-by: Mohammad Omidvar Tehrani <[email protected]> Co-authored-by: cpthooch <[email protected]> Co-authored-by: Aleksandr Malkov <[email protected]> Co-authored-by: Study-Log <[email protected]> Co-authored-by: Daniel Gomez <[email protected]> Co-authored-by: Graham Smith <[email protected]> Co-authored-by: Eugeny Sampir <[email protected]> Co-authored-by: dafi <[email protected]> Co-authored-by: dafinrs <[email protected]> Co-authored-by: Alfredo Bautista <[email protected]> Co-authored-by: Uladzimir Paliukhovich <[email protected]> Co-authored-by: Uladzimir_Paliukhovich <[email protected]> Co-authored-by: Alex Queudot <[email protected]> Co-authored-by: Shane Farmer <[email protected]> Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com>
An attempt to solve #47
Inspired by OkHTTP's authenticator
The idea is to provide a reactive authentication in the event that an auth challenge is raised. It returns a nullable Request that contains a possible update to the original Request to satisfy the authentication challenge.
e.g. a request is made to a server that responses with a 401. The authenticator can be implemented however needed to update the original request, such as using a refresh token, then pass a new request back to be executed.