From 07d3629622ca5d4397f4b1311c4cda80f03df76e Mon Sep 17 00:00:00 2001 From: Jiiks Date: Tue, 5 Mar 2019 20:38:21 +0200 Subject: [PATCH] axios wrapper base --- client/src/index.js | 4 ++-- common/modules/axi.js | 34 ++++++++++++++++++++++++++++++++++ common/modules/common.js | 1 + 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 common/modules/axi.js diff --git a/client/src/index.js b/client/src/index.js index de27de87..e33fa493 100644 --- a/client/src/index.js +++ b/client/src/index.js @@ -11,7 +11,7 @@ import { DOM, BdUI, BdMenu, Modals, Toasts, Notifications, BdContextMenu, DiscordContextMenu } from 'ui'; import BdCss from './styles/index.scss'; import { Events, Globals, Settings, Database, Updater, ModuleManager, PluginManager, ThemeManager, ExtModuleManager, Vendor, Patcher, MonkeyPatch, ReactComponents, ReactHelpers, ReactAutoPatcher, DiscordApi, BdWebApi, Connectivity, Cache, Reflection, PackageInstaller } from 'modules'; -import { ClientLogger as Logger, ClientIPC, Utils } from 'common'; +import { ClientLogger as Logger, ClientIPC, Utils, Axi } from 'common'; import { BuiltinManager, EmoteModule, ReactDevtoolsModule, VueDevtoolsModule, TrackingProtection, E2EE } from 'builtin'; import electron from 'electron'; import path from 'path'; @@ -39,7 +39,7 @@ class BetterDiscord { BdWebApi, Connectivity, Cache, - Logger, ClientIPC, Utils, + Logger, ClientIPC, Utils, Axi, plugins: PluginManager.localContent, themes: ThemeManager.localContent, diff --git a/common/modules/axi.js b/common/modules/axi.js new file mode 100644 index 00000000..8c50575c --- /dev/null +++ b/common/modules/axi.js @@ -0,0 +1,34 @@ +/** + * BetterDiscord axios wrapper + * Copyright (c) 2015-present Jiiks/JsSucks - https://github.com/Jiiks / https://github.com/JsSucks + * All rights reserved. + * https://betterdiscord.net + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. +*/ + +import axios from 'axios'; + +export default class AxiosWrapper { + + static get axios() { return axios; } + + static get github() { + return this._github ? this._github : ( + this._github = { + main: this.create('https://github.com'), + api: this.create('https://api.github.com') + } + ); + } + + static create(baseUrl, timeout = 1000, headers = null) { + return axios.create({ baseURL: baseUrl, timeout, headers: headers ? headers : this.defaultHeaders }); + } + + static get defaultHeaders() { + return {}; + } + +} diff --git a/common/modules/common.js b/common/modules/common.js index 3ae581aa..96fe4b72 100644 --- a/common/modules/common.js +++ b/common/modules/common.js @@ -3,3 +3,4 @@ export { default as Filters } from './filters'; export { default as Logger, ClientLogger } from './logger'; export { default as ClientIPC } from './bdipc'; export { default as AsyncEventEmitter } from './async-eventemitter'; +export { default as Axi } from './axi';