diff --git a/src/tests/http-provider-utils.test.ts b/src/tests/http-provider-utils.test.ts index 7cdf89b0..3c89e4e5 100644 --- a/src/tests/http-provider-utils.test.ts +++ b/src/tests/http-provider-utils.test.ts @@ -507,7 +507,7 @@ describe('HTTP Provider Utils tests', () => { geoLocation: 'US', } const hash = hashProviderParams(params) - assert.equal(hash, '0xe9624d26421a4d898d401e98821ccd645c25b06de97746a6c24a8b12d9aec143') + assert.equal(hash, '0x58e516c01cf2bb54fd567a4f31b64d0a8e99ee2569c814d31030bf2febadf270') const paramsEx: ProviderParams<'http'> = { @@ -1392,7 +1392,7 @@ const html = ` } } }; - + // Rollbar Snippet !function(r){var e={};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,e,n){o.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:n})},o.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},o.t=function(r,e){if(1&e&&(r=o(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var t in r)o.d(n,t,function(e){return r[e]}.bind(null,t));return n},o.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(e,"a",e),e},o.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},o.p="",o(o.s=0)}([function(r,e,o){"use strict";var n=o(1),t=o(5);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdn.rollbar.com/rollbarjs/refs/tags/v2.19.0/rollbar.min.js",_rollbarConfig.async=void 0===_rollbarConfig.async||_rollbarConfig.async;var a=n.setupShim(window,_rollbarConfig),l=t(_rollbarConfig);window.rollbar=n.Rollbar,a.loadFull(window,document,!_rollbarConfig.async,_rollbarConfig,l)},function(r,e,o){"use strict";var n=o(2),t=o(3);function a(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}var l=0;function i(r,e){this.options=r,this._rollbarOldOnError=null;var o=l++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}var s=o(4),d=function(r,e){return new i(r,e)},c=function(r){return new s(d,r)};function u(r){return a((function(){var e=this,o=Array.prototype.slice.call(arguments,0),n={shim:e,method:r,args:o,ts:new Date};window._rollbarShims[this.shimId()].messages.push(n)}))}i.prototype.loadFull=function(r,e,o,n,t){var l=!1,i=e.createElement("script"),s=e.getElementsByTagName("script")[0],d=s.parentNode;i.crossOrigin="",i.src=n.rollbarJsUrl,o||(i.async=!0),i.onload=i.onreadystatechange=a((function(){if(!(l||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){i.onload=i.onreadystatechange=null;try{d.removeChild(i)}catch(r){}l=!0,function(){var e;if(void 0===r._rollbarDidLoad){e=new Error("rollbar.js did not load");for(var o,n,a,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(a=n.args||[],i=0;i @@ -1445,17 +1445,17 @@ const html = ` - +
- +
- +
- + @@ -3304,4 +3304,4 @@ dCB0aGUgdXNlciBJRCB1c2luZyBzaWduZWQtaW4gdXNlcl9pZC4KZ2EoJ3NldCcsICdkaW1lbnNp b24xJywgZmFsc2UpOwpnYSgnc2V0JywgJ2RpbWVuc2lvbjInLCAndzIwMjEnKTsKZ2EoJ3NldCcs ICdkaW1lbnNpb24zJywgdHJ1ZSk7CmdhKCdzZXQnLCAnZGltZW5zaW9uNCcsIHRydWUpOwpnYSgn c2VuZCcsICdwYWdldmlldycpOwoKPC9zY3JpcHQ+CjwhLS0gRW5kIEdvb2dsZSBBbmFseXRpY3Mg -LS0+CjwvYm9keT48L2h0bWw+DQowDQoNCg==`, 'base64') \ No newline at end of file +LS0+CjwvYm9keT48L2h0bWw+DQowDQoNCg==`, 'base64') diff --git a/src/tests/http-provider.test.ts b/src/tests/http-provider.test.ts index b1549242..24ebe561 100644 --- a/src/tests/http-provider.test.ts +++ b/src/tests/http-provider.test.ts @@ -45,7 +45,7 @@ describeWithServer('HTTP Provider', opts => { assert.ok(!resp.error) assert.match( resp.claim?.context || '', - /0x5e3e976476ded7b58120d606b33b75be52adb8345a7979c181764f00763e7b2a/ + /0x9b26b1c18a7169a7533d4b6d1969198db8df8be52f58aad6d729ca3ecf90ea17/ ) }) @@ -114,7 +114,7 @@ describeWithServer('HTTP Provider', opts => { assert.ok(!resp.error) assert.match( resp.claim?.context || '', - /0x51004e4a2d91eda6fa8cf2e6fa9a8dd973070114a7c670a4c47797e9a55ab872/ + /0x52eefd230287404d1053327c183eb0ebd9327a117539ac48e2a5ace143ee711c/ ) }) -}) \ No newline at end of file +}) diff --git a/src/utils/claims.ts b/src/utils/claims.ts index d40db76b..1775129e 100644 --- a/src/utils/claims.ts +++ b/src/utils/claims.ts @@ -116,11 +116,21 @@ export function canonicalStringify(params: { [key: string]: any } | undefined) { export function hashProviderParams(params: ProviderParams<'http'>): string { const filteredParams = { - url:params.url, - method:params.method, - body: params.body, - responseMatches: params.responseMatches, - responseRedactions: params.responseRedactions + url: params.url, + method: params.method, + body: params.body ?? '', + responseMatches: params.responseMatches.map(it => ({ + value: it.value, + type: it.type, + // default undefined, even if false + invert: it.invert || undefined, + })), + responseRedactions: params.responseRedactions?.map(it => ({ + xPath: it.xPath ?? '', + jsonPath: it.jsonPath ?? '', + regex: it.regex ?? '', + hash: it.hash || undefined, + })) ?? [], } const serializedParams = canonicalStringify(filteredParams)