mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-24 16:11:08 +02:00
348 lines
12 KiB
JavaScript
348 lines
12 KiB
JavaScript
"use strict";
|
|
/* tslint:disable */
|
|
/* eslint-disable */
|
|
/**
|
|
* HashiCorp Vault API
|
|
* HTTP API that gives you full access to Vault. All API routes are prefixed with `/v1/`.
|
|
*
|
|
* The version of the OpenAPI document: 1.20.0
|
|
*
|
|
*
|
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
* https://openapi-generator.tech
|
|
* Do not edit the class manually.
|
|
*/
|
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.TextApiResponse = exports.BlobApiResponse = exports.VoidApiResponse = exports.JSONApiResponse = exports.COLLECTION_FORMATS = exports.RequiredError = exports.FetchError = exports.ResponseError = exports.BaseAPI = exports.DefaultConfig = exports.Configuration = exports.BASE_PATH = void 0;
|
|
exports.querystring = querystring;
|
|
exports.exists = exists;
|
|
exports.mapValues = mapValues;
|
|
exports.canConsumeForm = canConsumeForm;
|
|
exports.BASE_PATH = "http://localhost".replace(/\/+$/, "");
|
|
class Configuration {
|
|
constructor(configuration = {}) {
|
|
this.configuration = configuration;
|
|
}
|
|
set config(configuration) {
|
|
this.configuration = configuration;
|
|
}
|
|
get basePath() {
|
|
return this.configuration.basePath != null ? this.configuration.basePath : exports.BASE_PATH;
|
|
}
|
|
get fetchApi() {
|
|
return this.configuration.fetchApi;
|
|
}
|
|
get middleware() {
|
|
return this.configuration.middleware || [];
|
|
}
|
|
get queryParamsStringify() {
|
|
return this.configuration.queryParamsStringify || querystring;
|
|
}
|
|
get username() {
|
|
return this.configuration.username;
|
|
}
|
|
get password() {
|
|
return this.configuration.password;
|
|
}
|
|
get apiKey() {
|
|
const apiKey = this.configuration.apiKey;
|
|
if (apiKey) {
|
|
return typeof apiKey === 'function' ? apiKey : () => apiKey;
|
|
}
|
|
return undefined;
|
|
}
|
|
get accessToken() {
|
|
const accessToken = this.configuration.accessToken;
|
|
if (accessToken) {
|
|
return typeof accessToken === 'function' ? accessToken : () => __awaiter(this, void 0, void 0, function* () { return accessToken; });
|
|
}
|
|
return undefined;
|
|
}
|
|
get headers() {
|
|
return this.configuration.headers;
|
|
}
|
|
get credentials() {
|
|
return this.configuration.credentials;
|
|
}
|
|
}
|
|
exports.Configuration = Configuration;
|
|
exports.DefaultConfig = new Configuration();
|
|
/**
|
|
* This is the base class for all generated API classes.
|
|
*/
|
|
class BaseAPI {
|
|
constructor(configuration = exports.DefaultConfig) {
|
|
this.configuration = configuration;
|
|
this.fetchApi = (url, init) => __awaiter(this, void 0, void 0, function* () {
|
|
let fetchParams = { url, init };
|
|
for (const middleware of this.middleware) {
|
|
if (middleware.pre) {
|
|
fetchParams = (yield middleware.pre(Object.assign({ fetch: this.fetchApi }, fetchParams))) || fetchParams;
|
|
}
|
|
}
|
|
let response = undefined;
|
|
try {
|
|
response = yield (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init);
|
|
}
|
|
catch (e) {
|
|
for (const middleware of this.middleware) {
|
|
if (middleware.onError) {
|
|
response = (yield middleware.onError({
|
|
fetch: this.fetchApi,
|
|
url: fetchParams.url,
|
|
init: fetchParams.init,
|
|
error: e,
|
|
response: response ? response.clone() : undefined,
|
|
})) || response;
|
|
}
|
|
}
|
|
if (response === undefined) {
|
|
if (e instanceof Error) {
|
|
throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response');
|
|
}
|
|
else {
|
|
throw e;
|
|
}
|
|
}
|
|
}
|
|
for (const middleware of this.middleware) {
|
|
if (middleware.post) {
|
|
response = (yield middleware.post({
|
|
fetch: this.fetchApi,
|
|
url: fetchParams.url,
|
|
init: fetchParams.init,
|
|
response: response.clone(),
|
|
})) || response;
|
|
}
|
|
}
|
|
return response;
|
|
});
|
|
this.middleware = configuration.middleware;
|
|
}
|
|
withMiddleware(...middlewares) {
|
|
const next = this.clone();
|
|
next.middleware = next.middleware.concat(...middlewares);
|
|
return next;
|
|
}
|
|
withPreMiddleware(...preMiddlewares) {
|
|
const middlewares = preMiddlewares.map((pre) => ({ pre }));
|
|
return this.withMiddleware(...middlewares);
|
|
}
|
|
withPostMiddleware(...postMiddlewares) {
|
|
const middlewares = postMiddlewares.map((post) => ({ post }));
|
|
return this.withMiddleware(...middlewares);
|
|
}
|
|
/**
|
|
* Check if the given MIME is a JSON MIME.
|
|
* JSON MIME examples:
|
|
* application/json
|
|
* application/json; charset=UTF8
|
|
* APPLICATION/JSON
|
|
* application/vnd.company+json
|
|
* @param mime - MIME (Multipurpose Internet Mail Extensions)
|
|
* @return True if the given MIME is JSON, false otherwise.
|
|
*/
|
|
isJsonMime(mime) {
|
|
if (!mime) {
|
|
return false;
|
|
}
|
|
return BaseAPI.jsonRegex.test(mime);
|
|
}
|
|
request(context, initOverrides) {
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
const { url, init } = yield this.createFetchParams(context, initOverrides);
|
|
const response = yield this.fetchApi(url, init);
|
|
if (response && (response.status >= 200 && response.status < 300)) {
|
|
return response;
|
|
}
|
|
throw new ResponseError(response, 'Response returned an error code');
|
|
});
|
|
}
|
|
createFetchParams(context, initOverrides) {
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
let url = this.configuration.basePath + context.path;
|
|
const headers = Object.assign({}, this.configuration.headers, context.headers);
|
|
Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {});
|
|
const initOverrideFn = typeof initOverrides === "function"
|
|
? initOverrides
|
|
: () => __awaiter(this, void 0, void 0, function* () { return initOverrides; });
|
|
const initParams = {
|
|
method: context.method,
|
|
headers,
|
|
body: context.body,
|
|
credentials: this.configuration.credentials,
|
|
};
|
|
const overriddenInit = Object.assign(Object.assign({}, initParams), (yield initOverrideFn({
|
|
init: initParams,
|
|
context,
|
|
})));
|
|
if (context.query !== undefined && Object.keys(context.query).length !== 0) {
|
|
// only add the querystring to the URL if there are query parameters.
|
|
// this is done to avoid urls ending with a "?" character which buggy webservers
|
|
// do not handle correctly sometimes.
|
|
url += '?' + this.configuration.queryParamsStringify(context.query);
|
|
}
|
|
let body;
|
|
if (isFormData(overriddenInit.body)
|
|
|| (overriddenInit.body instanceof URLSearchParams)
|
|
|| isBlob(overriddenInit.body)) {
|
|
body = overriddenInit.body;
|
|
}
|
|
else if (this.isJsonMime(headers['Content-Type'])) {
|
|
body = JSON.stringify(overriddenInit.body);
|
|
}
|
|
else {
|
|
body = overriddenInit.body;
|
|
}
|
|
const init = Object.assign(Object.assign({}, overriddenInit), { body });
|
|
return { url, init };
|
|
});
|
|
}
|
|
/**
|
|
* Create a shallow clone of `this` by constructing a new instance
|
|
* and then shallow cloning data members.
|
|
*/
|
|
clone() {
|
|
const constructor = this.constructor;
|
|
const next = new constructor(this.configuration);
|
|
next.middleware = this.middleware.slice();
|
|
return next;
|
|
}
|
|
}
|
|
exports.BaseAPI = BaseAPI;
|
|
BaseAPI.jsonRegex = new RegExp('^(:?application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$', 'i');
|
|
;
|
|
function isBlob(value) {
|
|
return typeof Blob !== 'undefined' && value instanceof Blob;
|
|
}
|
|
function isFormData(value) {
|
|
return typeof FormData !== "undefined" && value instanceof FormData;
|
|
}
|
|
class ResponseError extends Error {
|
|
constructor(response, msg) {
|
|
super(msg);
|
|
this.response = response;
|
|
this.name = "ResponseError";
|
|
}
|
|
}
|
|
exports.ResponseError = ResponseError;
|
|
class FetchError extends Error {
|
|
constructor(cause, msg) {
|
|
super(msg);
|
|
this.cause = cause;
|
|
this.name = "FetchError";
|
|
}
|
|
}
|
|
exports.FetchError = FetchError;
|
|
class RequiredError extends Error {
|
|
constructor(field, msg) {
|
|
super(msg);
|
|
this.field = field;
|
|
this.name = "RequiredError";
|
|
}
|
|
}
|
|
exports.RequiredError = RequiredError;
|
|
exports.COLLECTION_FORMATS = {
|
|
csv: ",",
|
|
ssv: " ",
|
|
tsv: "\t",
|
|
pipes: "|",
|
|
};
|
|
function querystring(params, prefix = '') {
|
|
return Object.keys(params)
|
|
.map(key => querystringSingleKey(key, params[key], prefix))
|
|
.filter(part => part.length > 0)
|
|
.join('&');
|
|
}
|
|
function querystringSingleKey(key, value, keyPrefix = '') {
|
|
const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key);
|
|
if (value instanceof Array) {
|
|
const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue)))
|
|
.join(`&${encodeURIComponent(fullKey)}=`);
|
|
return `${encodeURIComponent(fullKey)}=${multiValue}`;
|
|
}
|
|
if (value instanceof Set) {
|
|
const valueAsArray = Array.from(value);
|
|
return querystringSingleKey(key, valueAsArray, keyPrefix);
|
|
}
|
|
if (value instanceof Date) {
|
|
return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`;
|
|
}
|
|
if (value instanceof Object) {
|
|
return querystring(value, fullKey);
|
|
}
|
|
return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`;
|
|
}
|
|
function exists(json, key) {
|
|
const value = json[key];
|
|
return value !== null && value !== undefined;
|
|
}
|
|
function mapValues(data, fn) {
|
|
return Object.keys(data).reduce((acc, key) => (Object.assign(Object.assign({}, acc), { [key]: fn(data[key]) })), {});
|
|
}
|
|
function canConsumeForm(consumes) {
|
|
for (const consume of consumes) {
|
|
if ('multipart/form-data' === consume.contentType) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
class JSONApiResponse {
|
|
constructor(raw, transformer = (jsonValue) => jsonValue) {
|
|
this.raw = raw;
|
|
this.transformer = transformer;
|
|
}
|
|
value() {
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
const response = yield this.raw.json();
|
|
return this.transformer(response.data);
|
|
});
|
|
}
|
|
}
|
|
exports.JSONApiResponse = JSONApiResponse;
|
|
class VoidApiResponse {
|
|
constructor(raw) {
|
|
this.raw = raw;
|
|
}
|
|
value() {
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
return yield this.raw.json();
|
|
});
|
|
}
|
|
}
|
|
exports.VoidApiResponse = VoidApiResponse;
|
|
class BlobApiResponse {
|
|
constructor(raw) {
|
|
this.raw = raw;
|
|
}
|
|
value() {
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
return yield this.raw.blob();
|
|
});
|
|
}
|
|
;
|
|
}
|
|
exports.BlobApiResponse = BlobApiResponse;
|
|
class TextApiResponse {
|
|
constructor(raw) {
|
|
this.raw = raw;
|
|
}
|
|
value() {
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
return yield this.raw.text();
|
|
});
|
|
}
|
|
;
|
|
}
|
|
exports.TextApiResponse = TextApiResponse;
|