mirror of
https://github.com/caprover/caprover
synced 2026-05-27 05:41:02 +00:00
98 lines
1.8 KiB
JavaScript
98 lines
1.8 KiB
JavaScript
const Request = require("request-promise")
|
|
|
|
class MainApi {
|
|
constructor() {
|
|
this.sharedOptions = {
|
|
headers: {
|
|
"x-namespace": "captain"
|
|
}
|
|
}
|
|
}
|
|
|
|
_buildOptions(options) {
|
|
if (!options) return this.sharedOptions
|
|
|
|
if (options.headers) {
|
|
options.headers = Object.assign(
|
|
{},
|
|
this.sharedOptions.headers,
|
|
options.headers
|
|
)
|
|
}
|
|
|
|
return Object.assign({}, this.sharedOptions, options)
|
|
}
|
|
|
|
get(url, options) {
|
|
const overrideOptions = this._buildOptions(options)
|
|
const optionsToSend = {
|
|
...overrideOptions,
|
|
url,
|
|
method: "GET"
|
|
}
|
|
|
|
return Request(optionsToSend)
|
|
}
|
|
|
|
post(url, form, options) {
|
|
const overrideOptions = this._buildOptions(options)
|
|
const optionsToSend = {
|
|
...overrideOptions,
|
|
url,
|
|
method: "POST",
|
|
form
|
|
}
|
|
|
|
return Request(optionsToSend)
|
|
}
|
|
|
|
postWithFile(url, formData, options) {
|
|
const overrideOptions = this._buildOptions(options)
|
|
const optionsToSend = {
|
|
...overrideOptions,
|
|
url,
|
|
method: "POST",
|
|
formData
|
|
}
|
|
|
|
return Request(optionsToSend)
|
|
}
|
|
|
|
put(url, form, options) {
|
|
const overrideOptions = this._buildOptions(options)
|
|
const optionsToSend = {
|
|
...overrideOptions,
|
|
url,
|
|
method: "PUT",
|
|
form
|
|
}
|
|
|
|
return Request(optionsToSend)
|
|
}
|
|
|
|
patch(url, form, options) {
|
|
const overrideOptions = this._buildOptions(options)
|
|
const optionsToSend = {
|
|
...overrideOptions,
|
|
url,
|
|
method: "PATCH",
|
|
form
|
|
}
|
|
|
|
return Request(optionsToSend)
|
|
}
|
|
|
|
delete(url, options) {
|
|
const overrideOptions = this._buildOptions(options)
|
|
const optionsToSend = {
|
|
...overrideOptions,
|
|
url,
|
|
method: "DELETE"
|
|
}
|
|
|
|
return Request(optionsToSend)
|
|
}
|
|
}
|
|
|
|
module.exports = new MainApi()
|