This commit is contained in:
Skillz4Killz
2021-04-09 14:41:23 +00:00
committed by GitHub
parent 30e5f3ae22
commit 03d01463e1
4 changed files with 18 additions and 21 deletions

View File

@@ -45,6 +45,6 @@ export function createRequestBody(queuedRequest: QueuedRequest) {
body:
queuedRequest.payload.body?.file ||
JSON.stringify(queuedRequest.payload.body),
method: queuedRequest.request.method,
method: queuedRequest.request.method.toUpperCase(),
};
}

View File

@@ -36,19 +36,18 @@ export async function processQueue(id: string) {
// EXECUTE THE REQUEST
// IF THIS IS A GET REQUEST, CHANGE THE BODY TO QUERY PARAMETERS
const query = queuedRequest.request.method.toUpperCase() === "GET" &&
queuedRequest.payload.body
? Object.entries(queuedRequest.payload.body)
.map(
([key, value]) =>
`${encodeURIComponent(key)}=${
encodeURIComponent(
value as string,
)
}`,
)
.join("&")
: "";
const query =
queuedRequest.request.method.toUpperCase() === "GET" &&
queuedRequest.payload.body
? Object.entries(queuedRequest.payload.body)
.map(
([key, value]) =>
`${encodeURIComponent(key)}=${encodeURIComponent(
value as string
)}`
)
.join("&")
: "";
const urlToUse =
queuedRequest.request.method.toUpperCase() === "GET" && query
? `${queuedRequest.request.url}?${query}`
@@ -60,13 +59,13 @@ export async function processQueue(id: string) {
try {
const response = await fetch(
urlToUse,
rest.createRequestBody(queuedRequest),
rest.createRequestBody(queuedRequest)
);
rest.eventHandlers.fetched(queuedRequest.payload);
const bucketIdFromHeaders = rest.processRequestHeaders(
queuedRequest.request.url,
response.headers,
response.headers
);
if (response.status < 200 || response.status >= 400) {
@@ -124,7 +123,7 @@ export async function processQueue(id: string) {
// IF IT HAS MAXED RETRIES SOMETHING SERIOUSLY WRONG. CANCEL OUT.
if (
queuedRequest.payload.retryCount >=
queuedRequest.options.maxRetryCount
queuedRequest.options.maxRetryCount
) {
rest.eventHandlers.retriesMaxed(queuedRequest.payload);
queuedRequest.request.respond({

View File

@@ -21,9 +21,7 @@ export const rest = {
ratelimitedPaths: new Map(),
eventHandlers: {
// BY DEFAULT WE WILL LOG ALL ERRORS TO CONSOLE. USER CAN CHOOSE TO OVERRIDE
error: function (_type, error) {
console.error(error);
},
error: console.error,
// PLACEHOLDERS TO ALLOW USERS TO CUSTOMIZE
debug: function (_type, error) {},
fetching() {},

View File

@@ -4,7 +4,7 @@ import { ws } from "./ws.ts";
/** Handler for processing all dispatch payloads that should be sent/forwarded to another server/vps/process. */
export async function handleDiscordPayload(
data: DiscordGatewayPayload,
shardId: number,
shardId: number
) {
await fetch(ws.url, {
headers: {