mirror of
https://github.com/discordeno/discordeno.git
synced 2026-06-03 09:20:08 +00:00
30 lines
985 B
TypeScript
30 lines
985 B
TypeScript
import DiscordRequestManager from "./discord-request-manager.ts";
|
|
import Client from "./client";
|
|
import { resolveURLs } from './url.ts';
|
|
import { baseEndpoints } from '../constants/discord.ts';
|
|
|
|
export class RouteAwareDiscordRequestManager extends DiscordRequestManager{
|
|
constructor (public client: Client, public routeName: string) {
|
|
super(client);
|
|
}
|
|
|
|
protected resolveURL (url: string) {
|
|
return resolveURLs(baseEndpoints.BASE_URL, this.routeName, url);
|
|
}
|
|
}
|
|
|
|
export class RoutedDiscordRequestManager {
|
|
protected routeMap = new Map<string, DiscordRequestManager>();
|
|
|
|
constructor (public client: Client) {}
|
|
|
|
forRoute (routeName: string) {
|
|
if (this.routeMap.has(routeName)) {
|
|
return this.routeMap.get(routeName);
|
|
}
|
|
|
|
const routeRequestManager = new RouteAwareDiscordRequestManager(this.client, routeName);
|
|
this.routeMap.set(routeName, routeRequestManager);
|
|
return routeRequestManager;
|
|
}
|
|
} |