From 083ee0287dd7c5906c99607b5e4b2e6dd084fc5c Mon Sep 17 00:00:00 2001 From: Tom Wayson Date: Tue, 25 Aug 2020 11:49:27 -0700 Subject: [PATCH] fix(getItemApiUrl): fix missing ?f=json AFFECTS PACKAGES: @esri/hub-common ISSUES CLOSED: #330 --- packages/common/src/urls/get-item-api-url.ts | 12 +++--------- packages/common/src/urls/get-item-data-url.ts | 8 +++++--- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/packages/common/src/urls/get-item-api-url.ts b/packages/common/src/urls/get-item-api-url.ts index 65143badb9d..9748969b71a 100644 --- a/packages/common/src/urls/get-item-api-url.ts +++ b/packages/common/src/urls/get-item-api-url.ts @@ -18,15 +18,9 @@ export const getItemApiUrl = ( typeof portalOrUrl === "string" ? portalOrUrl : getPortalUrl(portalOrUrl); // TODO: handle case where Portal API url is passed in? // const portalUrl = parsePortalUrl(portalRestUrl); - const path = `/sharing/rest/content/items/${id}`; - // TODO: append f param based on item.type? - let query; + let url = `${host}/sharing/rest/content/items/${id}?f=json`; if (access !== "public") { - query = { token }; + url = `${url}&token=${token}`; } - return buildUrl({ - host, - path, - query - }); + return url; }; diff --git a/packages/common/src/urls/get-item-data-url.ts b/packages/common/src/urls/get-item-data-url.ts index f4fca3be1d7..774f396a3d7 100644 --- a/packages/common/src/urls/get-item-data-url.ts +++ b/packages/common/src/urls/get-item-data-url.ts @@ -13,7 +13,9 @@ export const getItemDataUrl = ( token?: string ) => { const url = getItemApiUrl(item, portalOrUrl, token); - const segment = `/${item.id}`; - const regExp = new RegExp(segment); - return url && url.replace(regExp, `${segment}/data`); + const pattern = `\\/${item.id}\\?f=json`; + const regExp = new RegExp(pattern); + return ( + url && url.replace(regExp, `/${item.id}/data`).replace(/\&token/, "?token") + ); };