Skip to content
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
wants to merge 2 commits into from

Conversation

disruptek
Copy link
Contributor

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.

@danielgtaylor
Copy link
Member

This looks fantastic. Thanks for taking the time to update MWS!

@disruptek
Copy link
Contributor Author

It was a few hours labor that was long overdue. Thanks for pulling in such a massive diff!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants