Skip to content
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

Lots of API specification updates #13

Open
wants to merge 23 commits into
base: master
Choose a base branch
from

Conversation

kendallb
Copy link
Contributor

@kendallb kendallb commented Jul 8, 2021

These are all the changed we have had to make to the specification to get it working properly in the real world. It has been a while since I created a PR, and I just rebased onto the official code to pick up all the changes for IOSS updates. But all the changes I made are probably relevant to anyone else using the YAML spec, since the stuff I changed is wrong (and certainly difficult to use with C#).

@kendallb
Copy link
Contributor Author

kendallb commented Jul 8, 2021

BTW, I noticed the API spec added a bunch of new enumeration values, but they were added in the MIDDLE of the existing enumerations. This is a really bad idea for code generation in C# because it becomes a numeric enumeration when it is parsed, so while the values passed over the wire are strings, the internal values are numeric. So if you add a new value in the middle, the numeric values change. This means anyone consuming the C# API library will need to recompile to use the updated API definitions when the enumerations change. To fix this, any changes enumerations really need to have new values added to the end?

@kendallb kendallb force-pushed the feature/kendallb/api-specification-updates branch from e01f383 to 4d264b6 Compare July 8, 2021 02:10
@kendallb
Copy link
Contributor Author

I am going to rebase on top of the latest changes, but is there a reason my changes cannot be accepted upstream? All of these changes are necessary changes to correctly build a C# client library that works in the wild.

@kendallb kendallb force-pushed the feature/kendallb/api-specification-updates branch 2 times, most recently from 4c53e90 to fc87313 Compare March 27, 2024 01:34
…ed in JSON, but null). So either we need to mark it as nullable here or the service should not be including the value.

(cherry picked from commit aabd5e7)
@kendallb kendallb force-pushed the feature/kendallb/api-specification-updates branch from fc87313 to 270b6d6 Compare March 27, 2024 02:00
kendallb added 18 commits March 26, 2024 22:04
…ally should be nullable so it can be left out of the request.
… a string!

(cherry picked from commit 8ea157a)
(cherry picked from commit c7af338)
(cherry picked from commit 6297be8)
(cherry picked from commit f85ed1a)
(cherry picked from commit 603d5ff)
… parse the responses sent back if you manifest for specific labels.

(cherry picked from commit 20dcf31)
(cherry picked from commit 26b6dab)
(cherry picked from commit 85576dc)
…when a label is a test label with USPS.

(cherry picked from commit 444f133)
(cherry picked from commit 64a2707)
(cherry picked from commit 3e60dbb)
…to throw and error if you use it. And it still does work.

(cherry picked from commit 433dc5e)
(cherry picked from commit a5405f1)
(cherry picked from commit c66e6b6)
…and there is no response content to parse

(cherry picked from commit 2147f27)
(cherry picked from commit 47f4a77)
(cherry picked from commit 3c59f10)
…nts from Endicia.

(cherry picked from commit aad88e3)
(cherry picked from commit 3a8eefa)
(cherry picked from commit 4fbc871)
(cherry picked from commit ac295be)
(cherry picked from commit fb28b95)
(cherry picked from commit 83d9831)
… for an empty country

(cherry picked from commit a4a1e51)
(cherry picked from commit bf993ba)
(cherry picked from commit 5ff9e58)
(cherry picked from commit c2628b1)
(cherry picked from commit b9f6822)
(cherry picked from commit 126abfe)
… web site.

(cherry picked from commit 83d528a)
(cherry picked from commit fbfc6b9)
(cherry picked from commit 244c52c)
…alidation service. I am not sure why you guys changed then to not allow null???

(cherry picked from commit 300055b)
(cherry picked from commit ecb75a1)
(cherry picked from commit a44db2b)
(cherry picked from commit ebc95fa)
(cherry picked from commit 8e68602)
(cherry picked from commit 8ddb356)
(cherry picked from commit 18741f4)
(cherry picked from commit 7a87490)
(cherry picked from commit 8f414a1)
(cherry picked from commit 27dd7f0)
(cherry picked from commit cd6ed10)
(cherry picked from commit 202bf0e)
(cherry picked from commit 0847e6e)
(cherry picked from commit 76d3238)
(cherry picked from commit 485791a)
(cherry picked from commit 4c53e90)
(cherry picked from commit fc87313)
(cherry picked from commit 270b6d6)
@kendallb kendallb force-pushed the feature/kendallb/api-specification-updates branch from 270b6d6 to c331d61 Compare March 27, 2024 02:05
…tuff to maintain binary compatibility for now. Might put that back later.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant