Skip to content
This repository has been archived by the owner on Nov 6, 2019. It is now read-only.

Support for other accessing eBay data in the UK as well as the US #50

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

Conversation

tobysimone
Copy link

No description provided.

…n to work, but more consistent internally.

(xml is the lowest-common-denominator protocol for all the ebay APIs.)
…'s internal naming.

(though not consistent with API header names - blah.)
+ tests for error handling.
+ switch parser back to callback pattern, so it gets data on error case too.
(`debug` has its own timing mechanism, comparing time between debug calls, but it's hard to follow.)
…llback.

(allows default parser to be run on existing response w/o needing to re-pass the context.)
…istent output formats, too dangerous.

Try a blacklist approach instead with keys known to be arrays.
(Tedious to implement - only done for Trading:GetOrders so far - but hopefully safer.)
benbuckman and others added 26 commits November 3, 2015 10:50
also fix `.that.have.property()` syntax in tests, was a false positive before.
…lement their own pagination.

(Logic is too endpoint- and application-specific to make sense as a generic method here.)
I used this example only to find out a few hours later the example code is outdated
GetSingleItem requires 'ItemID' as the argument (not 'ItemId')
As of 3/22/2016, the eBay API has several servers that can only
negotiate TLS v1.0 sessions, and several servers that can negotiate TLS
v1.0, v1.1 and v1.2. Node/OpenSSL get confused by this, and occasionally
attempt to parse a v1.2 response using TLS v1.0 and vice versa. The
error you get back from the request looks something like this:

```
{ [Error: write EPROTO 140113357338496:error:1408F10B:SSL
routines:SSL3_GET_RECORD:wrong version number:../deps/openssl/openssl/ssl/s3_pkt.c:362:
] code: 'EPROTO',
errno: 'EPROTO',
syscall: 'write' }
```

As far as I can tell, this isn't patched yet, in Node or OpenSSL. But
setting the following options forces all connections to be negotiated
with TLS v1.0, effectively fixing the issue.

More reading:

aws/aws-sdk-js#862
nodejs/node#3692
https://www.ssllabs.com/ssltest/analyze.html?d=api.ebay.com

If you know anyone at eBay, please tell them it's a) unacceptable to
have servers that can only negotiate TLS v1.0, and b) unacceptable to
have a SSL certificate that was signed with SHA1, and they should
upgrade both things.
Force negotiation using TLSv1.0
Update Shopping-GetSingleItem.js
Change appName to appId since appName no longer works
@tobysimone tobysimone closed this Dec 7, 2017
@tobysimone tobysimone reopened this Dec 7, 2017
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.

5 participants