@merkur/plugin-http-client 0.26.0 → 0.27.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.cjs CHANGED
@@ -44,10 +44,12 @@ function httpClientPlugin() {
44
44
  };
45
45
 
46
46
  widget.$dependencies.fetch = getFetchAPI();
47
- widget.$dependencies.AbortController = AbortController__default['default'];
47
+ widget.$dependencies.AbortController = AbortController__default["default"];
48
48
 
49
+ return widget;
50
+ },
51
+ async create(widget) {
49
52
  core.bindWidgetToFunctions(widget, widget.http);
50
-
51
53
  return widget;
52
54
  },
53
55
  };
@@ -106,7 +108,7 @@ async function runTransformers(widget, transformers, method, ...rest) {
106
108
 
107
109
  function getFetchAPI() {
108
110
  if (typeof window === 'undefined' || !window.fetch) {
109
- return fetch__default['default'];
111
+ return fetch__default["default"];
110
112
  }
111
113
 
112
114
  return window.fetch.bind(window);
@@ -166,12 +168,15 @@ function transformBody() {
166
168
  return [request, newResponse];
167
169
  },
168
170
  async transformRequest(widget, request, response) {
171
+ const { body, headers, method } = request;
172
+
169
173
  if (
170
- request.body &&
171
- request.headers['Content-Type'] === 'application/json' &&
172
- !['GET', 'HEAD'].includes(request.method)
174
+ body &&
175
+ (headers['Content-Type'] || headers['content-type']) ===
176
+ 'application/json' &&
177
+ !['GET', 'HEAD'].includes(method)
173
178
  ) {
174
- let newRequest = { ...request, body: JSON.stringify(request.body) };
179
+ let newRequest = { ...request, body: JSON.stringify(body) };
175
180
 
176
181
  return [newRequest, response];
177
182
  }
package/lib/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function e(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||n(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=n(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var o=0,u=function(){};return{s:u,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:u}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,i=!0,a=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return i=e.done,e},e:function(e){a=!0,s=e},f:function(){try{i||null==t.return||t.return()}finally{if(a)throw s}}}}function t(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==t)return;var n,o,u=[],s=!0,i=!1;try{for(t=t.call(e);!(s=(n=t.next()).done)&&(u.push(n.value),!r||u.length!==r);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==t.return||t.return()}finally{if(i)throw o}}return u}(e,r)||n(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,r){if(e){if("string"==typeof e)return o(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,r):void 0}}function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function u(e,r,t,n,o,u,s){try{var i=e[u](s),a=i.value}catch(e){return void t(e)}i.done?r(a):Promise.resolve(a).then(n,o)}function s(e){return function(){var r=this,t=arguments;return new Promise((function(n,o){var s=e.apply(r,t);function i(e){u(s,n,o,i,a,"next",e)}function a(e){u(s,n,o,i,a,"throw",e)}i(void 0)}))}}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){c(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}require("regenerator-runtime/runtime.js"),require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.function.bind.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.string.ends-with.js"),require("core-js/modules/es.string.starts-with.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.string.includes.js"),require("core-js/modules/web.timers.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.object.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.from.js"),Object.defineProperty(exports,"__esModule",{value:!0});var l=require("@merkur/core"),p=require("node-fetch"),m=require("abort-controller");function d(e){return e&&"object"===f(e)&&"default"in e?e:{default:e}}var y=d(p),b=d(m);function j(e){return[q(),w(),x()]}function h(e,r,t){return g.apply(this,arguments)}function g(){return(g=s(regeneratorRuntime.mark((function t(n,o,u){var s,i,a,c,f,l,p=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(s=p.length,i=new Array(s>3?s-3:0),a=3;a<s;a++)i[a-3]=p[a];c=r(o),t.prev=2,c.s();case 4:if((f=c.n()).done){t.next=12;break}if("function"!=typeof(l=f.value)[u]){t.next=10;break}return t.next=9,l[u].apply(l,[n].concat(e(i)));case 9:i=t.sent;case 10:t.next=4;break;case 12:t.next=17;break;case 14:t.prev=14,t.t0=t.catch(2),c.e(t.t0);case 17:return t.prev=17,c.f(),t.finish(17);case 20:return t.abrupt("return",i);case 21:case"end":return t.stop()}}),t,null,[[2,14,17,20]])})))).apply(this,arguments)}function v(){return"undefined"!=typeof window&&window.fetch?window.fetch.bind(window):y.default}function w(){return{transformRequest:function(e,r,t){return s(regeneratorRuntime.mark((function e(){var n,o,u,s,i,c,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a({},r),o=r.baseUrl,u=void 0===o?"":o,s=r.path,i=void 0===s?"/":s,r.url?n.url=r.url:n.url="".concat(u.endsWith("/")?u.substring(0,u.length-1):u,"/").concat(i.startsWith("/")?i.substring(1):i),c=Object.keys(r.query).map((function(e){return[e,r.query[e]].map(encodeURIComponent).join("=")})).join("&"),f=-1!==n.url.indexOf("?"),n.url+=f?c?"&".concat(c):"":c?"?".concat(c):"",e.abrupt("return",[n,t]);case 7:case"end":return e.stop()}}),e)})))()}}}function q(){return{transformResponse:function(e,r,t){return s(regeneratorRuntime.mark((function e(){var n,o,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.headers.get("content-type"),o=null,204===t.status){e.next=12;break}if(!n||!n.includes("application/json")){e.next=9;break}return e.next=6,t.json();case 6:o=e.sent,e.next=12;break;case 9:return e.next=11,t.text();case 11:o=e.sent;case 12:return(u=R(t)).body=o,e.abrupt("return",[r,u]);case 15:case"end":return e.stop()}}),e)})))()},transformRequest:function(e,r,t){return s(regeneratorRuntime.mark((function e(){var n;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r.body||"application/json"!==r.headers["Content-Type"]||["GET","HEAD"].includes(r.method)){e.next=3;break}return n=a(a({},r),{},{body:JSON.stringify(r.body)}),e.abrupt("return",[n,t]);case 3:return e.abrupt("return",[r,t]);case 4:case"end":return e.stop()}}),e)})))()}}}function x(){return{transformRequest:function(e,r,t){return s(regeneratorRuntime.mark((function n(){var o,u;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=a({},r),"timeout"in r&&(u=new e.$dependencies.AbortController,o.signal=u.signal,o.timeoutTimer=setTimeout((function(){u.abort()}),r.timeout)),n.abrupt("return",[o,t]);case 3:case"end":return n.stop()}}),n)})))()},transformResponse:function(e,r,t){return s(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"timeoutTimer"in r&&clearTimeout(r.timeoutTimer),e.abrupt("return",[r,t]);case 2:case"end":return e.stop()}}),e)})))()}}}function R(e){return{body:e.body,headers:e.headers,ok:e.ok,redirected:e.redirected,status:e.status,statusText:e.statusText,trailers:e.trailers,type:e.type,url:e.url,useFinalURL:e.useFinalURL}}exports.copyResponse=R,exports.getDefaultTransformers=j,exports.httpClientPlugin=function(){return{setup:function(e){return s(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return(e=a(a({},{http:{request:function(e,r){return s(regeneratorRuntime.mark((function n(){var o,u,s,i,c,f,l;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=null,u=a(a({},e.$in.httpClient.defaultConfig),r),s=u.transformers,n.next=5,h(e,s,"transformRequest",u,o);case 5:if(i=n.sent,c=t(i,2),u=c[0],o=c[1]){n.next=15;break}return n.next=12,e.$dependencies.fetch(u.url,u);case 12:n.t0=n.sent,n.next=16;break;case 15:n.t0=o;case 16:return o=n.t0,n.next=19,h(e,s,"transformResponse",u,o);case 19:if(f=n.sent,l=t(f,2),u=l[0],(o=l[1]).ok){n.next=25;break}return n.abrupt("return",Promise.reject({request:u,response:o}));case 25:return n.abrupt("return",{request:u,response:o});case 26:case"end":return n.stop()}}),n)})))()}}}),e)).$in.httpClient={defaultConfig:{method:"GET",transformers:j(),headers:{},query:{},timeout:15e3}},e.$dependencies.fetch=v(),e.$dependencies.AbortController=b.default,l.bindWidgetToFunctions(e,e.http),r.abrupt("return",e);case 6:case"end":return r.stop()}}),r)})))()}}},exports.setDefaultConfig=function(e,r){e.$in.httpClient.defaultConfig=a(a({},e.$in.httpClient.defaultConfig),r)},exports.transformBody=q,exports.transformQuery=w,exports.transformTimeout=x;
1
+ "use strict";function e(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||n(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function r(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=n(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var o=0,u=function(){};return{s:u,n:function(){return o>=e.length?{done:!0}:{done:!1,value:e[o++]}},e:function(e){throw e},f:u}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var s,i=!0,a=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return i=e.done,e},e:function(e){a=!0,s=e},f:function(){try{i||null==t.return||t.return()}finally{if(a)throw s}}}}function t(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==t)return;var n,o,u=[],s=!0,i=!1;try{for(t=t.call(e);!(s=(n=t.next()).done)&&(u.push(n.value),!r||u.length!==r);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==t.return||t.return()}finally{if(i)throw o}}return u}(e,r)||n(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function n(e,r){if(e){if("string"==typeof e)return o(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,r):void 0}}function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}function u(e,r,t,n,o,u,s){try{var i=e[u](s),a=i.value}catch(e){return void t(e)}i.done?r(a):Promise.resolve(a).then(n,o)}function s(e){return function(){var r=this,t=arguments;return new Promise((function(n,o){var s=e.apply(r,t);function i(e){u(s,n,o,i,a,"next",e)}function a(e){u(s,n,o,i,a,"throw",e)}i(void 0)}))}}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function a(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){c(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}require("regenerator-runtime/runtime.js"),require("core-js/modules/es.object.define-property.js"),require("core-js/modules/es.object.to-string.js"),require("core-js/modules/es.promise.js"),require("core-js/modules/es.function.bind.js"),require("core-js/modules/es.array.concat.js"),require("core-js/modules/es.string.ends-with.js"),require("core-js/modules/es.string.starts-with.js"),require("core-js/modules/es.array.join.js"),require("core-js/modules/es.array.map.js"),require("core-js/modules/es.object.keys.js"),require("core-js/modules/es.array.index-of.js"),require("core-js/modules/es.array.includes.js"),require("core-js/modules/es.string.includes.js"),require("core-js/modules/web.timers.js"),require("core-js/modules/es.symbol.js"),require("core-js/modules/es.symbol.description.js"),require("core-js/modules/es.symbol.iterator.js"),require("core-js/modules/es.array.iterator.js"),require("core-js/modules/es.string.iterator.js"),require("core-js/modules/web.dom-collections.iterator.js"),require("core-js/modules/es.array.filter.js"),require("core-js/modules/es.object.get-own-property-descriptor.js"),require("core-js/modules/es.array.for-each.js"),require("core-js/modules/web.dom-collections.for-each.js"),require("core-js/modules/es.object.get-own-property-descriptors.js"),require("core-js/modules/es.object.define-properties.js"),require("core-js/modules/es.array.is-array.js"),require("core-js/modules/es.array.slice.js"),require("core-js/modules/es.function.name.js"),require("core-js/modules/es.array.from.js"),Object.defineProperty(exports,"__esModule",{value:!0});var l=require("@merkur/core"),p=require("node-fetch"),m=require("abort-controller");function d(e){return e&&"object"===f(e)&&"default"in e?e:{default:e}}var y=d(p),b=d(m);function j(e){return[q(),v(),x()]}function h(e,r,t){return g.apply(this,arguments)}function g(){return g=s(regeneratorRuntime.mark((function t(n,o,u){var s,i,a,c,f,l,p=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:for(s=p.length,i=new Array(s>3?s-3:0),a=3;a<s;a++)i[a-3]=p[a];c=r(o),t.prev=2,c.s();case 4:if((f=c.n()).done){t.next=12;break}if("function"!=typeof(l=f.value)[u]){t.next=10;break}return t.next=9,l[u].apply(l,[n].concat(e(i)));case 9:i=t.sent;case 10:t.next=4;break;case 12:t.next=17;break;case 14:t.prev=14,t.t0=t.catch(2),c.e(t.t0);case 17:return t.prev=17,c.f(),t.finish(17);case 20:return t.abrupt("return",i);case 21:case"end":return t.stop()}}),t,null,[[2,14,17,20]])}))),g.apply(this,arguments)}function w(){return"undefined"!=typeof window&&window.fetch?window.fetch.bind(window):y.default}function v(){return{transformRequest:function(e,r,t){return s(regeneratorRuntime.mark((function e(){var n,o,u,s,i,c,f;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=a({},r),o=r.baseUrl,u=void 0===o?"":o,s=r.path,i=void 0===s?"/":s,r.url?n.url=r.url:n.url="".concat(u.endsWith("/")?u.substring(0,u.length-1):u,"/").concat(i.startsWith("/")?i.substring(1):i),c=Object.keys(r.query).map((function(e){return[e,r.query[e]].map(encodeURIComponent).join("=")})).join("&"),f=-1!==n.url.indexOf("?"),n.url+=f?c?"&".concat(c):"":c?"?".concat(c):"",e.abrupt("return",[n,t]);case 7:case"end":return e.stop()}}),e)})))()}}}function q(){return{transformResponse:function(e,r,t){return s(regeneratorRuntime.mark((function e(){var n,o,u;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.headers.get("content-type"),o=null,204===t.status){e.next=12;break}if(!n||!n.includes("application/json")){e.next=9;break}return e.next=6,t.json();case 6:o=e.sent,e.next=12;break;case 9:return e.next=11,t.text();case 11:o=e.sent;case 12:return(u=R(t)).body=o,e.abrupt("return",[r,u]);case 15:case"end":return e.stop()}}),e)})))()},transformRequest:function(e,r,t){return s(regeneratorRuntime.mark((function e(){var n,o,u,s;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.body,o=r.headers,u=r.method,!n||"application/json"!==(o["Content-Type"]||o["content-type"])||["GET","HEAD"].includes(u)){e.next=4;break}return s=a(a({},r),{},{body:JSON.stringify(n)}),e.abrupt("return",[s,t]);case 4:return e.abrupt("return",[r,t]);case 5:case"end":return e.stop()}}),e)})))()}}}function x(){return{transformRequest:function(e,r,t){return s(regeneratorRuntime.mark((function n(){var o,u;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=a({},r),"timeout"in r&&(u=new e.$dependencies.AbortController,o.signal=u.signal,o.timeoutTimer=setTimeout((function(){u.abort()}),r.timeout)),n.abrupt("return",[o,t]);case 3:case"end":return n.stop()}}),n)})))()},transformResponse:function(e,r,t){return s(regeneratorRuntime.mark((function e(){return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"timeoutTimer"in r&&clearTimeout(r.timeoutTimer),e.abrupt("return",[r,t]);case 2:case"end":return e.stop()}}),e)})))()}}}function R(e){return{body:e.body,headers:e.headers,ok:e.ok,redirected:e.redirected,status:e.status,statusText:e.statusText,trailers:e.trailers,type:e.type,url:e.url,useFinalURL:e.useFinalURL}}exports.copyResponse=R,exports.getDefaultTransformers=j,exports.httpClientPlugin=function(){return{setup:function(e){return s(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return(e=a(a({},{http:{request:function(e,r){return s(regeneratorRuntime.mark((function n(){var o,u,s,i,c,f,l;return regeneratorRuntime.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=null,u=a(a({},e.$in.httpClient.defaultConfig),r),s=u.transformers,n.next=5,h(e,s,"transformRequest",u,o);case 5:if(i=n.sent,c=t(i,2),u=c[0],o=c[1]){n.next=15;break}return n.next=12,e.$dependencies.fetch(u.url,u);case 12:n.t0=n.sent,n.next=16;break;case 15:n.t0=o;case 16:return o=n.t0,n.next=19,h(e,s,"transformResponse",u,o);case 19:if(f=n.sent,l=t(f,2),u=l[0],(o=l[1]).ok){n.next=25;break}return n.abrupt("return",Promise.reject({request:u,response:o}));case 25:return n.abrupt("return",{request:u,response:o});case 26:case"end":return n.stop()}}),n)})))()}}}),e)).$in.httpClient={defaultConfig:{method:"GET",transformers:j(),headers:{},query:{},timeout:15e3}},e.$dependencies.fetch=w(),e.$dependencies.AbortController=b.default,r.abrupt("return",e);case 5:case"end":return r.stop()}}),r)})))()},create:function(e){return s(regeneratorRuntime.mark((function r(){return regeneratorRuntime.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return l.bindWidgetToFunctions(e,e.http),r.abrupt("return",e);case 2:case"end":return r.stop()}}),r)})))()}}},exports.setDefaultConfig=function(e,r){e.$in.httpClient.defaultConfig=a(a({},e.$in.httpClient.defaultConfig),r)},exports.transformBody=q,exports.transformQuery=v,exports.transformTimeout=x;
package/lib/index.es9.cjs CHANGED
@@ -46,7 +46,11 @@ function httpClientPlugin() {
46
46
  }
47
47
  };
48
48
  widget.$dependencies.fetch = getFetchAPI();
49
- widget.$dependencies.AbortController = AbortController__default['default'];
49
+ widget.$dependencies.AbortController = AbortController__default["default"];
50
+ return widget;
51
+ },
52
+
53
+ async create(widget) {
50
54
  core.bindWidgetToFunctions(widget, widget.http);
51
55
  return widget;
52
56
  }
@@ -96,7 +100,7 @@ async function runTransformers(widget, transformers, method, ...rest) {
96
100
 
97
101
  function getFetchAPI() {
98
102
  if (typeof window === 'undefined' || !window.fetch) {
99
- return fetch__default['default'];
103
+ return fetch__default["default"];
100
104
  }
101
105
 
102
106
  return window.fetch.bind(window);
@@ -153,9 +157,15 @@ function transformBody() {
153
157
  },
154
158
 
155
159
  async transformRequest(widget, request, response) {
156
- if (request.body && request.headers['Content-Type'] === 'application/json' && !['GET', 'HEAD'].includes(request.method)) {
160
+ const {
161
+ body,
162
+ headers,
163
+ method
164
+ } = request;
165
+
166
+ if (body && (headers['Content-Type'] || headers['content-type']) === 'application/json' && !['GET', 'HEAD'].includes(method)) {
157
167
  let newRequest = { ...request,
158
- body: JSON.stringify(request.body)
168
+ body: JSON.stringify(body)
159
169
  };
160
170
  return [newRequest, response];
161
171
  }
package/lib/index.es9.mjs CHANGED
@@ -29,6 +29,10 @@ function httpClientPlugin() {
29
29
  };
30
30
  widget.$dependencies.fetch = getFetchAPI();
31
31
  widget.$dependencies.AbortController = AbortController;
32
+ return widget;
33
+ },
34
+
35
+ async create(widget) {
32
36
  bindWidgetToFunctions(widget, widget.http);
33
37
  return widget;
34
38
  }
@@ -135,9 +139,15 @@ function transformBody() {
135
139
  },
136
140
 
137
141
  async transformRequest(widget, request, response) {
138
- if (request.body && request.headers['Content-Type'] === 'application/json' && !['GET', 'HEAD'].includes(request.method)) {
142
+ const {
143
+ body,
144
+ headers,
145
+ method
146
+ } = request;
147
+
148
+ if (body && (headers['Content-Type'] || headers['content-type']) === 'application/json' && !['GET', 'HEAD'].includes(method)) {
139
149
  let newRequest = { ...request,
140
- body: JSON.stringify(request.body)
150
+ body: JSON.stringify(body)
141
151
  };
142
152
  return [newRequest, response];
143
153
  }
package/lib/index.js CHANGED
@@ -44,10 +44,12 @@ function httpClientPlugin() {
44
44
  };
45
45
 
46
46
  widget.$dependencies.fetch = getFetchAPI();
47
- widget.$dependencies.AbortController = AbortController__default['default'];
47
+ widget.$dependencies.AbortController = AbortController__default["default"];
48
48
 
49
+ return widget;
50
+ },
51
+ async create(widget) {
49
52
  core.bindWidgetToFunctions(widget, widget.http);
50
-
51
53
  return widget;
52
54
  },
53
55
  };
@@ -106,7 +108,7 @@ async function runTransformers(widget, transformers, method, ...rest) {
106
108
 
107
109
  function getFetchAPI() {
108
110
  if (typeof window === 'undefined' || !window.fetch) {
109
- return fetch__default['default'];
111
+ return fetch__default["default"];
110
112
  }
111
113
 
112
114
  return window.fetch.bind(window);
@@ -166,12 +168,15 @@ function transformBody() {
166
168
  return [request, newResponse];
167
169
  },
168
170
  async transformRequest(widget, request, response) {
171
+ const { body, headers, method } = request;
172
+
169
173
  if (
170
- request.body &&
171
- request.headers['Content-Type'] === 'application/json' &&
172
- !['GET', 'HEAD'].includes(request.method)
174
+ body &&
175
+ (headers['Content-Type'] || headers['content-type']) ===
176
+ 'application/json' &&
177
+ !['GET', 'HEAD'].includes(method)
173
178
  ) {
174
- let newRequest = { ...request, body: JSON.stringify(request.body) };
179
+ let newRequest = { ...request, body: JSON.stringify(body) };
175
180
 
176
181
  return [newRequest, response];
177
182
  }
package/lib/index.mjs CHANGED
@@ -37,8 +37,10 @@ function httpClientPlugin() {
37
37
  widget.$dependencies.fetch = getFetchAPI();
38
38
  widget.$dependencies.AbortController = AbortController;
39
39
 
40
+ return widget;
41
+ },
42
+ async create(widget) {
40
43
  bindWidgetToFunctions(widget, widget.http);
41
-
42
44
  return widget;
43
45
  },
44
46
  };
@@ -157,12 +159,15 @@ function transformBody() {
157
159
  return [request, newResponse];
158
160
  },
159
161
  async transformRequest(widget, request, response) {
162
+ const { body, headers, method } = request;
163
+
160
164
  if (
161
- request.body &&
162
- request.headers['Content-Type'] === 'application/json' &&
163
- !['GET', 'HEAD'].includes(request.method)
165
+ body &&
166
+ (headers['Content-Type'] || headers['content-type']) ===
167
+ 'application/json' &&
168
+ !['GET', 'HEAD'].includes(method)
164
169
  ) {
165
- let newRequest = { ...request, body: JSON.stringify(request.body) };
170
+ let newRequest = { ...request, body: JSON.stringify(body) };
166
171
 
167
172
  return [newRequest, response];
168
173
  }
package/lib/index.umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){if("function"==typeof define&&define.amd)define("@merkur/plugin-http-client",["exports","@merkur/core","node-fetch","abort-controller"],t);else if("undefined"!=typeof exports)t(exports,require("@merkur/core"),require("node-fetch"),require("abort-controller"));else{var r={exports:{}};t(r.exports,e.Merkur.Core,e.fetch,e.abortController),e.Merkur=e.Merkur||{},e.Merkur.Plugin=e.Merkur.Plugin||{},e.Merkur.Plugin.Httpclient=r.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e,t,r,n){function o(e){return e&&e.__esModule?e:{default:e}}function i(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||f(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=f(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(a)throw i}}}}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],u=!0,a=!1;try{for(r=r.call(e);!(u=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);u=!0);}catch(e){a=!0,o=e}finally{try{u||null==r.return||r.return()}finally{if(a)throw o}}return i}(e,t)||f(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){if(e){if("string"==typeof e)return l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(e,t,r,n,o,i,u){try{var a=e[i](u),f=a.value}catch(e){return void r(e)}a.done?t(f):Promise.resolve(f).then(n,o)}function s(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function u(e){c(i,n,o,u,a,"next",e)}function a(e){c(i,n,o,u,a,"throw",e)}u(void 0)}))}}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e){return[g(),v(),w()]}function b(e,t,r){return h.apply(this,arguments)}function h(){return(h=s((function*(e,t,r){for(var n=arguments.length,o=new Array(n>3?n-3:0),a=3;a<n;a++)o[a-3]=arguments[a];var f,l=u(t);try{for(l.s();!(f=l.n()).done;){var c=f.value;"function"==typeof c[r]&&(o=yield c[r].apply(c,[e].concat(i(o))))}}catch(e){l.e(e)}finally{l.f()}return o}))).apply(this,arguments)}function v(){return{transformRequest:function(e,t,r){return s((function*(){var e=p({},t),n=t.baseUrl,o=void 0===n?"":n,i=t.path,u=void 0===i?"/":i;t.url?e.url=t.url:e.url="".concat(o.endsWith("/")?o.substring(0,o.length-1):o,"/").concat(u.startsWith("/")?u.substring(1):u);var a=Object.keys(t.query).map((function(e){return[e,t.query[e]].map(encodeURIComponent).join("=")})).join("&"),f=-1!==e.url.indexOf("?");return e.url+=f?a?"&".concat(a):"":a?"?".concat(a):"",[e,r]}))()}}}function g(){return{transformResponse:function(e,t,r){return s((function*(){var e=r.headers.get("content-type"),n=null;204!==r.status&&(n=e&&e.includes("application/json")?yield r.json():yield r.text());var o=j(r);return o.body=n,[t,o]}))()},transformRequest:function(e,t,r){return s((function*(){return t.body&&"application/json"===t.headers["Content-Type"]&&!["GET","HEAD"].includes(t.method)?[p(p({},t),{},{body:JSON.stringify(t.body)}),r]:[t,r]}))()}}}function w(){return{transformRequest:function(e,t,r){return s((function*(){var n=p({},t);if("timeout"in t){var o=new e.$dependencies.AbortController;n.signal=o.signal,n.timeoutTimer=setTimeout((function(){o.abort()}),t.timeout)}return[n,r]}))()},transformResponse:function(e,t,r){return s((function*(){return"timeoutTimer"in t&&clearTimeout(t.timeoutTimer),[t,r]}))()}}}function j(e){return{body:e.body,headers:e.headers,ok:e.ok,redirected:e.redirected,status:e.status,statusText:e.statusText,trailers:e.trailers,type:e.type,url:e.url,useFinalURL:e.useFinalURL}}Object.defineProperty(e,"__esModule",{value:!0}),e.copyResponse=j,e.getDefaultTransformers=m,e.httpClientPlugin=function(){return{setup:function(e){return s((function*(){return(e=p(p({},{http:{request:function(e,t){return s((function*(){var r=null,n=p(p({},e.$in.httpClient.defaultConfig),t),o=n.transformers,i=a(yield b(e,o,"transformRequest",n,r),2);n=i[0],r=(r=i[1])||(yield e.$dependencies.fetch(n.url,n));var u=a(yield b(e,o,"transformResponse",n,r),2);return n=u[0],(r=u[1]).ok?{request:n,response:r}:Promise.reject({request:n,response:r})}))()}}}),e)).$in.httpClient={defaultConfig:{method:"GET",transformers:m(),headers:{},query:{},timeout:15e3}},e.$dependencies.fetch=function(){if("undefined"==typeof window||!window.fetch)return r.default;return window.fetch.bind(window)}(),e.$dependencies.AbortController=n.default,(0,t.bindWidgetToFunctions)(e,e.http),e}))()}}},e.setDefaultConfig=function(e,t){e.$in.httpClient.defaultConfig=p(p({},e.$in.httpClient.defaultConfig),t)},e.transformBody=g,e.transformQuery=v,e.transformTimeout=w,r=o(r),n=o(n)}));
1
+ !function(e,t){if("function"==typeof define&&define.amd)define("@merkur/plugin-http-client",["exports","@merkur/core","node-fetch","abort-controller"],t);else if("undefined"!=typeof exports)t(exports,require("@merkur/core"),require("node-fetch"),require("abort-controller"));else{var r={exports:{}};t(r.exports,e.Merkur.Core,e.fetch,e.abortController),e.Merkur=e.Merkur||{},e.Merkur.Plugin=e.Merkur.Plugin||{},e.Merkur.Plugin.Httpclient=r.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e,t,r,n){function o(e){return e&&e.__esModule?e:{default:e}}function i(e){return function(e){if(Array.isArray(e))return l(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||f(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=f(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(a)throw i}}}}function a(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],u=!0,a=!1;try{for(r=r.call(e);!(u=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);u=!0);}catch(e){a=!0,o=e}finally{try{u||null==r.return||r.return()}finally{if(a)throw o}}return i}(e,t)||f(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){if(e){if("string"==typeof e)return l(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(e,t):void 0}}function l(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function c(e,t,r,n,o,i,u){try{var a=e[i](u),f=a.value}catch(e){return void r(e)}a.done?t(f):Promise.resolve(f).then(n,o)}function s(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function u(e){c(i,n,o,u,a,"next",e)}function a(e){c(i,n,o,u,a,"throw",e)}u(void 0)}))}}function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function p(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function m(e){return[g(),v(),w()]}function b(e,t,r){return h.apply(this,arguments)}function h(){return h=s((function*(e,t,r){for(var n=arguments.length,o=new Array(n>3?n-3:0),a=3;a<n;a++)o[a-3]=arguments[a];var f,l=u(t);try{for(l.s();!(f=l.n()).done;){var c=f.value;"function"==typeof c[r]&&(o=yield c[r].apply(c,[e].concat(i(o))))}}catch(e){l.e(e)}finally{l.f()}return o})),h.apply(this,arguments)}function v(){return{transformRequest:function(e,t,r){return s((function*(){var e=p({},t),n=t.baseUrl,o=void 0===n?"":n,i=t.path,u=void 0===i?"/":i;t.url?e.url=t.url:e.url="".concat(o.endsWith("/")?o.substring(0,o.length-1):o,"/").concat(u.startsWith("/")?u.substring(1):u);var a=Object.keys(t.query).map((function(e){return[e,t.query[e]].map(encodeURIComponent).join("=")})).join("&"),f=-1!==e.url.indexOf("?");return e.url+=f?a?"&".concat(a):"":a?"?".concat(a):"",[e,r]}))()}}}function g(){return{transformResponse:function(e,t,r){return s((function*(){var e=r.headers.get("content-type"),n=null;204!==r.status&&(n=e&&e.includes("application/json")?yield r.json():yield r.text());var o=j(r);return o.body=n,[t,o]}))()},transformRequest:function(e,t,r){return s((function*(){var e=t.body,n=t.headers,o=t.method;return e&&"application/json"===(n["Content-Type"]||n["content-type"])&&!["GET","HEAD"].includes(o)?[p(p({},t),{},{body:JSON.stringify(e)}),r]:[t,r]}))()}}}function w(){return{transformRequest:function(e,t,r){return s((function*(){var n=p({},t);if("timeout"in t){var o=new e.$dependencies.AbortController;n.signal=o.signal,n.timeoutTimer=setTimeout((function(){o.abort()}),t.timeout)}return[n,r]}))()},transformResponse:function(e,t,r){return s((function*(){return"timeoutTimer"in t&&clearTimeout(t.timeoutTimer),[t,r]}))()}}}function j(e){return{body:e.body,headers:e.headers,ok:e.ok,redirected:e.redirected,status:e.status,statusText:e.statusText,trailers:e.trailers,type:e.type,url:e.url,useFinalURL:e.useFinalURL}}Object.defineProperty(e,"__esModule",{value:!0}),e.copyResponse=j,e.getDefaultTransformers=m,e.httpClientPlugin=function(){return{setup:function(e){return s((function*(){return(e=p(p({},{http:{request:function(e,t){return s((function*(){var r=null,n=p(p({},e.$in.httpClient.defaultConfig),t),o=n.transformers,i=a(yield b(e,o,"transformRequest",n,r),2);n=i[0],r=(r=i[1])||(yield e.$dependencies.fetch(n.url,n));var u=a(yield b(e,o,"transformResponse",n,r),2);return n=u[0],(r=u[1]).ok?{request:n,response:r}:Promise.reject({request:n,response:r})}))()}}}),e)).$in.httpClient={defaultConfig:{method:"GET",transformers:m(),headers:{},query:{},timeout:15e3}},e.$dependencies.fetch=function(){if("undefined"==typeof window||!window.fetch)return r.default;return window.fetch.bind(window)}(),e.$dependencies.AbortController=n.default,e}))()},create:function(e){return s((function*(){return(0,t.bindWidgetToFunctions)(e,e.http),e}))()}}},e.setDefaultConfig=function(e,t){e.$in.httpClient.defaultConfig=p(p({},e.$in.httpClient.defaultConfig),t)},e.transformBody=g,e.transformQuery=v,e.transformTimeout=w,r=o(r),n=o(n)}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merkur/plugin-http-client",
3
- "version": "0.26.0",
3
+ "version": "0.27.6",
4
4
  "description": "Merkur event emitter plugin.",
5
5
  "main": "lib/index",
6
6
  "module": "lib/index",
@@ -48,7 +48,7 @@
48
48
  },
49
49
  "homepage": "https://merkur.js.org/",
50
50
  "devDependencies": {
51
- "@merkur/core": "^0.26.0",
51
+ "@merkur/core": "^0.27.1",
52
52
  "rollup": "^2.56.2"
53
53
  },
54
54
  "peerDependencies": {
@@ -59,5 +59,5 @@
59
59
  "node-fetch": "^2.6.1",
60
60
  "whatwg-fetch": "^3.6.2"
61
61
  },
62
- "gitHead": "be0e958eb5be85eb9d8aefc1110ef4fede9e9df0"
62
+ "gitHead": "009ed11faf36f987d0237adedfaa167ecb054d4d"
63
63
  }