interop.js 581 B

12345678910111213141516171819202122
  1. function makeProxy(fetch) {
  2. return new Proxy(fetch, {
  3. get(target, prop) {
  4. const p = target[prop];
  5. if (typeof p === 'function') {
  6. return (url, options = {}) =>
  7. p.call(target, url, Object.assign(options, { version: global.HTTP_VERSION }));
  8. }
  9. return p;
  10. },
  11. });
  12. }
  13. exports.Snekfetch = makeProxy(require('../'));
  14. try {
  15. exports.SnekfetchSync = makeProxy(require('../sync'));
  16. } catch (err) {} // eslint-disable-line no-empty
  17. exports.TestRoot = global.HTTP_VERSION === 2 ?
  18. 'https://nghttp2.org/httpbin' :
  19. 'https://httpbin.org';