fix: fix url getting overridden when query params are present (#3130)
This commit is contained in:
@@ -6,14 +6,18 @@ import { isJSONContentType } from "./utils/contenttypes"
|
|||||||
* Handles translations for all the hopp.io REST Shareable URL params
|
* Handles translations for all the hopp.io REST Shareable URL params
|
||||||
*/
|
*/
|
||||||
export function translateExtURLParams(
|
export function translateExtURLParams(
|
||||||
urlParams: Record<string, any>
|
urlParams: Record<string, any>,
|
||||||
|
initialReq?: HoppRESTRequest
|
||||||
): HoppRESTRequest {
|
): HoppRESTRequest {
|
||||||
if (urlParams.v) return parseV1ExtURL(urlParams)
|
if (urlParams.v) return parseV1ExtURL(urlParams, initialReq)
|
||||||
else return parseV0ExtURL(urlParams)
|
else return parseV0ExtURL(urlParams, initialReq)
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseV0ExtURL(urlParams: Record<string, any>): HoppRESTRequest {
|
function parseV0ExtURL(
|
||||||
const resolvedReq = getDefaultRESTRequest()
|
urlParams: Record<string, any>,
|
||||||
|
initialReq?: HoppRESTRequest
|
||||||
|
): HoppRESTRequest {
|
||||||
|
const resolvedReq = initialReq ?? getDefaultRESTRequest()
|
||||||
|
|
||||||
if (urlParams.method && typeof urlParams.method === "string") {
|
if (urlParams.method && typeof urlParams.method === "string") {
|
||||||
resolvedReq.method = urlParams.method
|
resolvedReq.method = urlParams.method
|
||||||
@@ -89,8 +93,11 @@ function parseV0ExtURL(urlParams: Record<string, any>): HoppRESTRequest {
|
|||||||
return resolvedReq
|
return resolvedReq
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseV1ExtURL(urlParams: Record<string, any>): HoppRESTRequest {
|
function parseV1ExtURL(
|
||||||
const resolvedReq = getDefaultRESTRequest()
|
urlParams: Record<string, any>,
|
||||||
|
initialReq?: HoppRESTRequest
|
||||||
|
): HoppRESTRequest {
|
||||||
|
const resolvedReq = initialReq ?? getDefaultRESTRequest()
|
||||||
|
|
||||||
if (urlParams.headers && typeof urlParams.headers === "string") {
|
if (urlParams.headers && typeof urlParams.headers === "string") {
|
||||||
resolvedReq.headers = JSON.parse(urlParams.headers)
|
resolvedReq.headers = JSON.parse(urlParams.headers)
|
||||||
|
|||||||
@@ -154,8 +154,11 @@ function bindRequestToURLParams() {
|
|||||||
// If query params are empty, or contains code or error param (these are from Oauth Redirect)
|
// If query params are empty, or contains code or error param (these are from Oauth Redirect)
|
||||||
// We skip URL params parsing
|
// We skip URL params parsing
|
||||||
if (Object.keys(query).length === 0 || query.code || query.error) return
|
if (Object.keys(query).length === 0 || query.code || query.error) return
|
||||||
|
|
||||||
|
const request = currentActiveTab.value.document.request
|
||||||
|
|
||||||
currentActiveTab.value.document.request = safelyExtractRESTRequest(
|
currentActiveTab.value.document.request = safelyExtractRESTRequest(
|
||||||
translateExtURLParams(query),
|
translateExtURLParams(query, request),
|
||||||
getDefaultRESTRequest()
|
getDefaultRESTRequest()
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user