fix: wire response + init error handling

This commit is contained in:
liyasthomas
2021-07-15 09:40:45 +05:30
parent 86c9e09782
commit 3ef8e677c7
16 changed files with 283 additions and 152 deletions

View File

@@ -1,3 +1,5 @@
export const RESTReqSchemaVersion = "1"
export type HoppRESTParam = {
key: string
value: string
@@ -11,8 +13,44 @@ export type HoppRESTHeader = {
}
export interface HoppRESTRequest {
v: string
method: string
endpoint: string
params: HoppRESTParam[]
headers: HoppRESTHeader[]
}
export function isHoppRESTRequest(x: any): x is HoppRESTRequest {
return x && typeof x === "object" && "v" in x
}
export function translateToNewRequest(x: any): HoppRESTRequest {
if (isHoppRESTRequest(x)) {
return x
} else {
// Old format
const endpoint: string = `${x.url}${x.path}`
const headers: HoppRESTHeader[] = x.headers
// Remove old keys from params
const params: HoppRESTParam[] = (x.params as any[]).map(
({ key, value, active }) => ({
key,
value,
active,
})
)
const method = x.method
return {
endpoint,
headers,
params,
method,
v: RESTReqSchemaVersion,
}
}
}