1
0
mirror of https://github.com/sasjs/adapter.git synced 2026-01-13 23:20:05 +00:00

chore(*): change code style to remove semicolons

This commit is contained in:
Krishna Acondy
2020-09-01 11:51:17 +01:00
parent 619833db29
commit 755bf7d07c
39 changed files with 1001 additions and 1003 deletions

View File

@@ -1,8 +1,8 @@
import { CsrfToken } from "../types";
import { needsRetry } from "./needsRetry";
import { CsrfToken } from "../types"
import { needsRetry } from "./needsRetry"
let retryCount: number = 0;
let retryLimit: number = 5;
let retryCount: number = 0
let retryLimit: number = 5
export async function makeRequest<T>(
url: string,
@@ -10,98 +10,98 @@ export async function makeRequest<T>(
callback: (value: CsrfToken) => any,
contentType: "text" | "json" = "json"
): Promise<{ result: T; etag: string | null }> {
let retryRequest: any = null;
let retryRequest: any = null
const responseTransform =
contentType === "json"
? (res: Response) => res.json()
: (res: Response) => res.text();
let etag = null;
: (res: Response) => res.text()
let etag = null
const result = await fetch(url, request).then(async (response) => {
if (response.redirected && response.url.includes("SASLogon/login")) {
return Promise.reject({ status: 401 });
return Promise.reject({ status: 401 })
}
if (!response.ok) {
if (response.status === 403) {
const tokenHeader = response.headers.get("X-CSRF-HEADER");
const tokenHeader = response.headers.get("X-CSRF-HEADER")
if (tokenHeader) {
const token = response.headers.get(tokenHeader);
const token = response.headers.get(tokenHeader)
callback({
headerName: tokenHeader,
value: token || ""
});
})
retryRequest = {
...request,
headers: { ...request.headers, [tokenHeader]: token }
};
}
return fetch(url, retryRequest).then((res) => {
etag = res.headers.get("ETag");
return responseTransform(res);
});
etag = res.headers.get("ETag")
return responseTransform(res)
})
}
} else {
const body = await response.text();
const body = await response.text()
if (needsRetry(body)) {
if (retryCount < retryLimit) {
retryCount++;
retryCount++
let retryResponse = await makeRequest(
url,
retryRequest || request,
callback,
contentType
);
retryCount = 0;
)
retryCount = 0
etag = retryResponse.etag;
return retryResponse.result;
etag = retryResponse.etag
return retryResponse.result
} else {
retryCount = 0;
retryCount = 0
throw new Error("Request retry limit exceeded");
throw new Error("Request retry limit exceeded")
}
}
return Promise.reject({ status: response.status, body });
return Promise.reject({ status: response.status, body })
}
} else {
if (response.status === 204) {
return Promise.resolve();
return Promise.resolve()
}
const responseTransformed = await responseTransform(response);
let responseText = "";
const responseTransformed = await responseTransform(response)
let responseText = ""
if (typeof responseTransformed === "string") {
responseText = responseTransformed;
responseText = responseTransformed
} else {
responseText = JSON.stringify(responseTransformed);
responseText = JSON.stringify(responseTransformed)
}
if (needsRetry(responseText)) {
if (retryCount < retryLimit) {
retryCount++;
retryCount++
const retryResponse = await makeRequest(
url,
retryRequest || request,
callback,
contentType
);
retryCount = 0;
)
retryCount = 0
etag = retryResponse.etag;
return retryResponse.result;
etag = retryResponse.etag
return retryResponse.result
} else {
retryCount = 0;
retryCount = 0
throw new Error("Request retry limit exceeded");
throw new Error("Request retry limit exceeded")
}
}
etag = response.headers.get("ETag");
return responseTransformed;
etag = response.headers.get("ETag")
return responseTransformed
}
});
return { result, etag };
})
return { result, etag }
}