This repository has been archived by the owner on May 10, 2024. It is now read-only.
100% API coverage for MWS, extension enhancements #2203
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a breaking change in that it alters the way the
ResponseFactory
works in order to make it easier to slice and dice where custom parsers come from, share factories between connection objects, and other such gymnastics. It also alters or renames some internal interfaces, though that shouldn't present any great problems to users. With so many calls, I was starting to worry that we'd have a name collision, and now all the private interfaces are _prefixed.The good news is that this patch results in complete coverage for MWS, something like 95 calls. It gets us a little closer to eventually handling our own throttling using the quota/restore values I've been painstakingly transcribing throughout the code. It improves the way we destructure objects so that we can handle sending "member lists" and operate on arbitrary mapping objects and iterables. It applies the same
ResponseFactory
changes to exceptions so that they may be similarly easily extended and integrated. It supports sandboxing (for Off-Amazon Payments). It can receive arbitrary content types back from Amazon and be extended easily to act on that content usefully. And it eliminates all the boilerplate*ByNextToken
parsing classes and does the right thing even if they have been extended.