From 8cf6ae22593a8289821dbe4754397e8d01ad9c69 Mon Sep 17 00:00:00 2001 From: Tyler Hall Date: Tue, 19 Dec 2023 01:04:22 +0000 Subject: [PATCH] chore(sdk): hedge against trailing slash on scheduler url --- sdk/package-lock.json | 14 +++++++------- sdk/package.json | 2 +- sdk/src/lib/message/verify-process.js | 4 ++-- sdk/src/lib/utils.js | 5 +++++ 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/sdk/package-lock.json b/sdk/package-lock.json index e142e3066..46495eda8 100644 --- a/sdk/package-lock.json +++ b/sdk/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.19", "license": "MIT", "dependencies": { - "@permaweb/ao-scheduler-utils": "~0.0.3", + "@permaweb/ao-scheduler-utils": "~0.0.4", "buffer": "^6.0.3", "debug": "^4.3.4", "hyper-async": "^1.1.2", @@ -387,9 +387,9 @@ } }, "node_modules/@permaweb/ao-scheduler-utils": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@permaweb/ao-scheduler-utils/-/ao-scheduler-utils-0.0.3.tgz", - "integrity": "sha512-L21vKcKK9Sat+SSJheuU6/EmBjA6XUMIxfLPCd0zWW14s6haQYJhIT00fT1ZiihtLfMEXHVnIa8jFu1c4EdZdw==", + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@permaweb/ao-scheduler-utils/-/ao-scheduler-utils-0.0.4.tgz", + "integrity": "sha512-EmQUmobr87jPwBGuNUwHj3yLG/zL3B9n4tmqRx8OefTNTNWEJH45a0+maN/K582BZOQ5016zocRdYnXvgZsDXQ==", "dependencies": { "mnemonist": "^0.39.6", "ramda": "^0.29.1" @@ -830,9 +830,9 @@ "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==" }, "@permaweb/ao-scheduler-utils": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@permaweb/ao-scheduler-utils/-/ao-scheduler-utils-0.0.3.tgz", - "integrity": "sha512-L21vKcKK9Sat+SSJheuU6/EmBjA6XUMIxfLPCd0zWW14s6haQYJhIT00fT1ZiihtLfMEXHVnIa8jFu1c4EdZdw==", + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@permaweb/ao-scheduler-utils/-/ao-scheduler-utils-0.0.4.tgz", + "integrity": "sha512-EmQUmobr87jPwBGuNUwHj3yLG/zL3B9n4tmqRx8OefTNTNWEJH45a0+maN/K582BZOQ5016zocRdYnXvgZsDXQ==", "requires": { "mnemonist": "^0.39.6", "ramda": "^0.29.1" diff --git a/sdk/package.json b/sdk/package.json index cce2cce4a..2479cb552 100644 --- a/sdk/package.json +++ b/sdk/package.json @@ -28,7 +28,7 @@ "test:integration": "cd ./test/e2e && npm test" }, "dependencies": { - "@permaweb/ao-scheduler-utils": "~0.0.3", + "@permaweb/ao-scheduler-utils": "~0.0.4", "buffer": "^6.0.3", "debug": "^4.3.4", "hyper-async": "^1.1.2", diff --git a/sdk/src/lib/message/verify-process.js b/sdk/src/lib/message/verify-process.js index 48a2fc8b0..87c185dbe 100644 --- a/sdk/src/lib/message/verify-process.js +++ b/sdk/src/lib/message/verify-process.js @@ -2,7 +2,7 @@ import { Rejected, Resolved, fromPromise, of } from 'hyper-async' import { isNotNil, prop } from 'ramda' import { loadProcessMetaSchema, locateSchedulerSchema } from '../../dal.js' -import { eqOrIncludes, parseTags } from '../utils.js' +import { eqOrIncludes, parseTags, trimSlash } from '../utils.js' /** * @typedef Env5 @@ -25,7 +25,7 @@ function verifyProcessTagsWith ({ loadProcessMeta, locateScheduler }) { return (id) => { return of(id) .chain(locateScheduler) - .chain(({ url }) => loadProcessMeta({ suUrl: url, processId: id })) + .chain(({ url }) => loadProcessMeta({ suUrl: trimSlash(url), processId: id })) .map(prop('tags')) .map(parseTags) .chain(checkTag('Data-Protocol', eqOrIncludes('ao'), 'value \'ao\' was not found on process')) diff --git a/sdk/src/lib/utils.js b/sdk/src/lib/utils.js index 25ceecff8..613aa9d64 100644 --- a/sdk/src/lib/utils.js +++ b/sdk/src/lib/utils.js @@ -42,6 +42,11 @@ export function eqOrIncludes (val) { ]) } +export function trimSlash (str = '') { + if (!str.endsWith('/')) return str + return trimSlash(str.slice(0, -1)) +} + export function errFrom (err) { err = err || { message: 'An error occurred' }