serverless-plugin-datadog 5.4.0 → 5.5.0
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/package.json +1 -1
- package/dist/src/env.d.ts.map +1 -1
- package/dist/src/env.js +9 -51
- package/dist/src/env.js.map +1 -1
- package/dist/src/layers-gov.json +4 -4
- package/dist/src/layers.json +63 -63
- package/dist/src/output.js +1 -1
- package/dist/src/output.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/git-metadata/interfaces.d.ts +0 -10
- package/dist/src/git-metadata/interfaces.d.ts.map +0 -1
- package/dist/src/git-metadata/interfaces.js +0 -43
- package/dist/src/git-metadata/interfaces.js.map +0 -1
- package/dist/src/helpers/apikey.d.ts +0 -13
- package/dist/src/helpers/apikey.d.ts.map +0 -1
- package/dist/src/helpers/apikey.js +0 -74
- package/dist/src/helpers/apikey.js.map +0 -1
- package/dist/src/helpers/errors.d.ts +0 -3
- package/dist/src/helpers/errors.d.ts.map +0 -1
- package/dist/src/helpers/errors.js +0 -7
- package/dist/src/helpers/errors.js.map +0 -1
- package/dist/src/helpers/interfaces.d.ts +0 -20
- package/dist/src/helpers/interfaces.d.ts.map +0 -1
- package/dist/src/helpers/interfaces.js +0 -3
- package/dist/src/helpers/interfaces.js.map +0 -1
- package/dist/src/helpers/retry.d.ts +0 -3
- package/dist/src/helpers/retry.d.ts.map +0 -1
- package/dist/src/helpers/retry.js +0 -39
- package/dist/src/helpers/retry.js.map +0 -1
- package/dist/src/helpers/tags.d.ts +0 -29
- package/dist/src/helpers/tags.d.ts.map +0 -1
- package/dist/src/helpers/tags.js +0 -50
- package/dist/src/helpers/tags.js.map +0 -1
- package/dist/src/helpers/upload.d.ts +0 -45
- package/dist/src/helpers/upload.d.ts.map +0 -1
- package/dist/src/helpers/upload.js +0 -70
- package/dist/src/helpers/upload.js.map +0 -1
- package/dist/src/helpers/utils.d.ts +0 -31
- package/dist/src/helpers/utils.d.ts.map +0 -1
- package/dist/src/helpers/utils.js +0 -115
- package/dist/src/helpers/utils.js.map +0 -1
- package/dist/src/source-code-integration.d.ts +0 -15
- package/dist/src/source-code-integration.d.ts.map +0 -1
- package/dist/src/source-code-integration.js +0 -76
- package/dist/src/source-code-integration.js.map +0 -1
@@ -1,74 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
-
};
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
-
exports.newApiKeyValidator = void 0;
|
16
|
-
const axios_1 = __importDefault(require("axios"));
|
17
|
-
const chalk_1 = __importDefault(require("chalk"));
|
18
|
-
const errors_1 = require("./errors");
|
19
|
-
const newApiKeyValidator = (params) => new ApiKeyValidatorImplem(params.apiKey, params.datadogSite);
|
20
|
-
exports.newApiKeyValidator = newApiKeyValidator;
|
21
|
-
/** ApiKeyValidator is an helper class to interpret Datadog error responses and possibly check the
|
22
|
-
* validity of the api key.
|
23
|
-
*/
|
24
|
-
class ApiKeyValidatorImplem {
|
25
|
-
constructor(apiKey, datadogSite) {
|
26
|
-
this.apiKey = apiKey;
|
27
|
-
this.datadogSite = datadogSite;
|
28
|
-
}
|
29
|
-
/** Check if an API key is valid, based on the Axios error and defaulting to verify the API key
|
30
|
-
* through Datadog's API for ambiguous cases.
|
31
|
-
* An exception is raised when the API key is invalid.
|
32
|
-
* Callers should catch the exception to display it nicely.
|
33
|
-
*/
|
34
|
-
verifyApiKey(error) {
|
35
|
-
return __awaiter(this, void 0, void 0, function* () {
|
36
|
-
if (error.response === undefined) {
|
37
|
-
return;
|
38
|
-
}
|
39
|
-
if (error.response.status === 403 || (error.response.status === 400 && !(yield this.isApiKeyValid()))) {
|
40
|
-
throw new errors_1.InvalidConfigurationError(`${chalk_1.default.red.bold("DATADOG_API_KEY")} does not contain a valid API key for Datadog site ${this.datadogSite}`);
|
41
|
-
}
|
42
|
-
});
|
43
|
-
}
|
44
|
-
getApiKeyValidationURL() {
|
45
|
-
return `https://api.${this.datadogSite}/api/v1/validate`;
|
46
|
-
}
|
47
|
-
isApiKeyValid() {
|
48
|
-
return __awaiter(this, void 0, void 0, function* () {
|
49
|
-
if (this.isValid === undefined) {
|
50
|
-
this.isValid = yield this.validateApiKey();
|
51
|
-
}
|
52
|
-
return this.isValid;
|
53
|
-
});
|
54
|
-
}
|
55
|
-
validateApiKey() {
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
57
|
-
try {
|
58
|
-
const response = yield axios_1.default.get(this.getApiKeyValidationURL(), {
|
59
|
-
headers: {
|
60
|
-
"DD-API-KEY": this.apiKey,
|
61
|
-
},
|
62
|
-
});
|
63
|
-
return response.data.valid;
|
64
|
-
}
|
65
|
-
catch (error) {
|
66
|
-
if (error.response && error.response.status === 403) {
|
67
|
-
return false;
|
68
|
-
}
|
69
|
-
throw error;
|
70
|
-
}
|
71
|
-
});
|
72
|
-
}
|
73
|
-
}
|
74
|
-
//# sourceMappingURL=apikey.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"apikey.js","sourceRoot":"","sources":["../../../src/helpers/apikey.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAAqD;AACrD,kDAA0B;AAC1B,qCAAqD;AAc9C,MAAM,kBAAkB,GAAG,CAAC,MAA6B,EAAmB,EAAE,CACnF,IAAI,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;AADlD,QAAA,kBAAkB,sBACgC;AAE/D;;GAEG;AACH,MAAM,qBAAqB;IAMzB,YAAY,MAAc,EAAE,WAAmB;QAC7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACU,YAAY,CAAC,KAAiB;;YACzC,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;gBAChC,OAAO;aACR;YACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE;gBACrG,MAAM,IAAI,kCAAyB,CACjC,GAAG,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,sDAAsD,IAAI,CAAC,WAAW,EAAE,CAC7G,CAAC;aACH;QACH,CAAC;KAAA;IAEO,sBAAsB;QAC5B,OAAO,eAAe,IAAI,CAAC,WAAW,kBAAkB,CAAC;IAC3D,CAAC;IAEa,aAAa;;YACzB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;gBAC9B,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;aAC5C;YAED,OAAO,IAAI,CAAC,OAAQ,CAAC;QACvB,CAAC;KAAA;IAEa,cAAc;;YAC1B,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE;oBAC9D,OAAO,EAAE;wBACP,YAAY,EAAE,IAAI,CAAC,MAAM;qBAC1B;iBACF,CAAC,CAAC;gBAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;aAC5B;YAAC,OAAO,KAAU,EAAE;gBACnB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;oBACnD,OAAO,KAAK,CAAC;iBACd;gBACD,MAAM,KAAK,CAAC;aACb;QACH,CAAC;KAAA;CACF"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/helpers/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,yBAA0B,SAAQ,KAAK;CAAG"}
|
@@ -1,7 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.InvalidConfigurationError = void 0;
|
4
|
-
class InvalidConfigurationError extends Error {
|
5
|
-
}
|
6
|
-
exports.InvalidConfigurationError = InvalidConfigurationError;
|
7
|
-
//# sourceMappingURL=errors.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/helpers/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,yBAA0B,SAAQ,KAAK;CAAG;AAAvD,8DAAuD"}
|
@@ -1,20 +0,0 @@
|
|
1
|
-
import { AxiosPromise, AxiosRequestConfig, AxiosResponse } from "axios";
|
2
|
-
import { CI_JOB_NAME, CI_JOB_URL, CI_PIPELINE_ID, CI_PIPELINE_NAME, CI_PIPELINE_NUMBER, CI_PIPELINE_URL, CI_PROVIDER_NAME, CI_STAGE_NAME, CI_WORKSPACE_PATH, GIT_BRANCH, GIT_COMMIT_AUTHOR_DATE, GIT_COMMIT_AUTHOR_EMAIL, GIT_COMMIT_AUTHOR_NAME, GIT_COMMIT_COMMITTER_DATE, GIT_COMMIT_COMMITTER_EMAIL, GIT_COMMIT_COMMITTER_NAME, GIT_COMMIT_MESSAGE, GIT_REPOSITORY_URL, GIT_SHA, GIT_TAG } from "./tags";
|
3
|
-
export interface Metadata {
|
4
|
-
ci: {
|
5
|
-
pipeline: {
|
6
|
-
url?: string;
|
7
|
-
};
|
8
|
-
provider: {
|
9
|
-
name: string;
|
10
|
-
};
|
11
|
-
};
|
12
|
-
git: {
|
13
|
-
branch?: string;
|
14
|
-
commitSha?: string;
|
15
|
-
};
|
16
|
-
}
|
17
|
-
export declare type SpanTag = typeof CI_JOB_NAME | typeof CI_JOB_URL | typeof CI_PIPELINE_ID | typeof CI_PIPELINE_NAME | typeof CI_PIPELINE_NUMBER | typeof CI_PIPELINE_URL | typeof CI_PROVIDER_NAME | typeof CI_STAGE_NAME | typeof CI_WORKSPACE_PATH | typeof GIT_BRANCH | typeof GIT_REPOSITORY_URL | typeof GIT_SHA | typeof GIT_TAG | typeof GIT_COMMIT_AUTHOR_EMAIL | typeof GIT_COMMIT_AUTHOR_NAME | typeof GIT_COMMIT_AUTHOR_DATE | typeof GIT_COMMIT_MESSAGE | typeof GIT_COMMIT_COMMITTER_DATE | typeof GIT_COMMIT_COMMITTER_EMAIL | typeof GIT_COMMIT_COMMITTER_NAME;
|
18
|
-
export declare type SpanTags = Partial<Record<SpanTag, string>>;
|
19
|
-
export declare type RequestBuilder = (args: AxiosRequestConfig) => AxiosPromise<AxiosResponse>;
|
20
|
-
//# sourceMappingURL=interfaces.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/helpers/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EACL,WAAW,EACX,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,OAAO,EACR,MAAM,QAAQ,CAAC;AAEhB,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE;QACF,QAAQ,EAAE;YACR,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;QACF,QAAQ,EAAE;YACR,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,CAAC;IACF,GAAG,EAAE;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,oBAAY,OAAO,GACf,OAAO,WAAW,GAClB,OAAO,UAAU,GACjB,OAAO,cAAc,GACrB,OAAO,gBAAgB,GACvB,OAAO,kBAAkB,GACzB,OAAO,eAAe,GACtB,OAAO,gBAAgB,GACvB,OAAO,aAAa,GACpB,OAAO,iBAAiB,GACxB,OAAO,UAAU,GACjB,OAAO,kBAAkB,GACzB,OAAO,OAAO,GACd,OAAO,OAAO,GACd,OAAO,uBAAuB,GAC9B,OAAO,sBAAsB,GAC7B,OAAO,sBAAsB,GAC7B,OAAO,kBAAkB,GACzB,OAAO,yBAAyB,GAChC,OAAO,0BAA0B,GACjC,OAAO,yBAAyB,CAAC;AAErC,oBAAY,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAExD,oBAAY,cAAc,GAAG,CAAC,IAAI,EAAE,kBAAkB,KAAK,YAAY,CAAC,aAAa,CAAC,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/helpers/interfaces.ts"],"names":[],"mappings":""}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/helpers/retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAC;AAIhC,eAAO,MAAM,YAAY,qBAA4B,MAAM,QAAQ,GAAG,CAAC,aAAa,MAAM,OAAO,KAAG,QAAQ,IAAI,CAoB/G,CAAC"}
|
@@ -1,39 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
-
};
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
-
exports.retryRequest = void 0;
|
16
|
-
const async_retry_1 = __importDefault(require("async-retry"));
|
17
|
-
const errorCodesNoRetry = [400, 403, 413];
|
18
|
-
const retryRequest = (requestPerformer, retryOpts) => __awaiter(void 0, void 0, void 0, function* () {
|
19
|
-
// Request function, passed to async-retry
|
20
|
-
const doRequest = (bail) => __awaiter(void 0, void 0, void 0, function* () {
|
21
|
-
try {
|
22
|
-
yield requestPerformer();
|
23
|
-
}
|
24
|
-
catch (error) {
|
25
|
-
if (error.response && errorCodesNoRetry.includes(error.response.status)) {
|
26
|
-
// If it's an axios error with a status code that is excluded from retries, we bail to avoid retrying
|
27
|
-
bail(error);
|
28
|
-
return;
|
29
|
-
}
|
30
|
-
// Other cases are retried: other axios HTTP errors as well as
|
31
|
-
// non-axios errors such as DNS resolution errors and connection timeouts
|
32
|
-
throw error;
|
33
|
-
}
|
34
|
-
});
|
35
|
-
// Do the actual call
|
36
|
-
return (0, async_retry_1.default)(doRequest, retryOpts);
|
37
|
-
});
|
38
|
-
exports.retryRequest = retryRequest;
|
39
|
-
//# sourceMappingURL=retry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/helpers/retry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8DAAgC;AAEhC,MAAM,iBAAiB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEnC,MAAM,YAAY,GAAG,CAAO,gBAAoC,EAAE,SAAwB,EAAiB,EAAE;IAClH,0CAA0C;IAC1C,MAAM,SAAS,GAAG,CAAO,IAAwB,EAAE,EAAE;QACnD,IAAI;YACF,MAAM,gBAAgB,EAAE,CAAC;SAC1B;QAAC,OAAO,KAAU,EAAE;YACnB,IAAI,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACvE,qGAAqG;gBACrG,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEZ,OAAO;aACR;YACD,8DAA8D;YAC9D,yEAAyE;YACzE,MAAM,KAAK,CAAC;SACb;IACH,CAAC,CAAA,CAAC;IAEF,qBAAqB;IACrB,OAAO,IAAA,qBAAK,EAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACrC,CAAC,CAAA,CAAC;AApBW,QAAA,YAAY,gBAoBvB"}
|
@@ -1,29 +0,0 @@
|
|
1
|
-
export declare const CI_PIPELINE_URL = "ci.pipeline.url";
|
2
|
-
export declare const CI_PROVIDER_NAME = "ci.provider.name";
|
3
|
-
export declare const CI_PIPELINE_ID = "ci.pipeline.id";
|
4
|
-
export declare const CI_PIPELINE_NAME = "ci.pipeline.name";
|
5
|
-
export declare const CI_PIPELINE_NUMBER = "ci.pipeline.number";
|
6
|
-
export declare const CI_WORKSPACE_PATH = "ci.workspace_path";
|
7
|
-
export declare const GIT_REPOSITORY_URL = "git.repository_url";
|
8
|
-
export declare const CI_JOB_URL = "ci.job.url";
|
9
|
-
export declare const CI_JOB_NAME = "ci.job.name";
|
10
|
-
export declare const CI_STAGE_NAME = "ci.stage.name";
|
11
|
-
export declare const CI_LEVEL = "_dd.ci.level";
|
12
|
-
export declare const CI_BUILD_LEVEL = "_dd.ci.build_level";
|
13
|
-
export declare const GIT_BRANCH = "git.branch";
|
14
|
-
export declare const GIT_COMMIT_AUTHOR_DATE = "git.commit.author.date";
|
15
|
-
export declare const GIT_COMMIT_AUTHOR_EMAIL = "git.commit.author.email";
|
16
|
-
export declare const GIT_COMMIT_AUTHOR_NAME = "git.commit.author.name";
|
17
|
-
export declare const GIT_COMMIT_COMMITTER_DATE = "git.commit.committer.date";
|
18
|
-
export declare const GIT_COMMIT_COMMITTER_EMAIL = "git.commit.committer.email";
|
19
|
-
export declare const GIT_COMMIT_COMMITTER_NAME = "git.commit.committer.name";
|
20
|
-
export declare const GIT_COMMIT_MESSAGE = "git.commit.message";
|
21
|
-
export declare const GIT_SHA = "git.commit.sha";
|
22
|
-
export declare const GIT_TAG = "git.tag";
|
23
|
-
export declare const SPAN_TYPE = "span.type";
|
24
|
-
/**
|
25
|
-
* Receives an array of the form ['key:value', 'key2:value2']
|
26
|
-
* and returns an object of the form {key: 'value', key2: 'value2'}
|
27
|
-
*/
|
28
|
-
export declare const parseTags: (tags: string[]) => {};
|
29
|
-
//# sourceMappingURL=tags.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/helpers/tags.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAC/C,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AACrD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAC7C,eAAO,MAAM,QAAQ,iBAAiB,CAAC;AAEvC,eAAO,MAAM,cAAc,uBAAuB,CAAC;AAGnD,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AACjE,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAC/D,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AACvE,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AACrE,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AACvD,eAAO,MAAM,OAAO,mBAAmB,CAAC;AACxC,eAAO,MAAM,OAAO,YAAY,CAAC;AAGjC,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,SAAS,SAAU,MAAM,EAAE,OAgBvC,CAAC"}
|
package/dist/src/helpers/tags.js
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.parseTags = exports.SPAN_TYPE = exports.GIT_TAG = exports.GIT_SHA = exports.GIT_COMMIT_MESSAGE = exports.GIT_COMMIT_COMMITTER_NAME = exports.GIT_COMMIT_COMMITTER_EMAIL = exports.GIT_COMMIT_COMMITTER_DATE = exports.GIT_COMMIT_AUTHOR_NAME = exports.GIT_COMMIT_AUTHOR_EMAIL = exports.GIT_COMMIT_AUTHOR_DATE = exports.GIT_BRANCH = exports.CI_BUILD_LEVEL = exports.CI_LEVEL = exports.CI_STAGE_NAME = exports.CI_JOB_NAME = exports.CI_JOB_URL = exports.GIT_REPOSITORY_URL = exports.CI_WORKSPACE_PATH = exports.CI_PIPELINE_NUMBER = exports.CI_PIPELINE_NAME = exports.CI_PIPELINE_ID = exports.CI_PROVIDER_NAME = exports.CI_PIPELINE_URL = void 0;
|
4
|
-
// Build
|
5
|
-
exports.CI_PIPELINE_URL = "ci.pipeline.url";
|
6
|
-
exports.CI_PROVIDER_NAME = "ci.provider.name";
|
7
|
-
exports.CI_PIPELINE_ID = "ci.pipeline.id";
|
8
|
-
exports.CI_PIPELINE_NAME = "ci.pipeline.name";
|
9
|
-
exports.CI_PIPELINE_NUMBER = "ci.pipeline.number";
|
10
|
-
exports.CI_WORKSPACE_PATH = "ci.workspace_path";
|
11
|
-
exports.GIT_REPOSITORY_URL = "git.repository_url";
|
12
|
-
exports.CI_JOB_URL = "ci.job.url";
|
13
|
-
exports.CI_JOB_NAME = "ci.job.name";
|
14
|
-
exports.CI_STAGE_NAME = "ci.stage.name";
|
15
|
-
exports.CI_LEVEL = "_dd.ci.level";
|
16
|
-
// @deprecated TODO: remove this once backend is updated
|
17
|
-
exports.CI_BUILD_LEVEL = "_dd.ci.build_level";
|
18
|
-
// Git
|
19
|
-
exports.GIT_BRANCH = "git.branch";
|
20
|
-
exports.GIT_COMMIT_AUTHOR_DATE = "git.commit.author.date";
|
21
|
-
exports.GIT_COMMIT_AUTHOR_EMAIL = "git.commit.author.email";
|
22
|
-
exports.GIT_COMMIT_AUTHOR_NAME = "git.commit.author.name";
|
23
|
-
exports.GIT_COMMIT_COMMITTER_DATE = "git.commit.committer.date";
|
24
|
-
exports.GIT_COMMIT_COMMITTER_EMAIL = "git.commit.committer.email";
|
25
|
-
exports.GIT_COMMIT_COMMITTER_NAME = "git.commit.committer.name";
|
26
|
-
exports.GIT_COMMIT_MESSAGE = "git.commit.message";
|
27
|
-
exports.GIT_SHA = "git.commit.sha";
|
28
|
-
exports.GIT_TAG = "git.tag";
|
29
|
-
// General
|
30
|
-
exports.SPAN_TYPE = "span.type";
|
31
|
-
/**
|
32
|
-
* Receives an array of the form ['key:value', 'key2:value2']
|
33
|
-
* and returns an object of the form {key: 'value', key2: 'value2'}
|
34
|
-
*/
|
35
|
-
const parseTags = (tags) => {
|
36
|
-
try {
|
37
|
-
return tags.reduce((acc, keyValuePair) => {
|
38
|
-
if (!keyValuePair.includes(":")) {
|
39
|
-
return acc;
|
40
|
-
}
|
41
|
-
const [key, value] = keyValuePair.split(":");
|
42
|
-
return Object.assign(Object.assign({}, acc), { [key]: value });
|
43
|
-
}, {});
|
44
|
-
}
|
45
|
-
catch (e) {
|
46
|
-
return {};
|
47
|
-
}
|
48
|
-
};
|
49
|
-
exports.parseTags = parseTags;
|
50
|
-
//# sourceMappingURL=tags.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/helpers/tags.ts"],"names":[],"mappings":";;;AAAA,QAAQ;AACK,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AACxC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,WAAW,GAAG,aAAa,CAAC;AAC5B,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,QAAQ,GAAG,cAAc,CAAC;AACvC,wDAAwD;AAC3C,QAAA,cAAc,GAAG,oBAAoB,CAAC;AAEnD,MAAM;AACO,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAClD,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AACpD,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAClD,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AACxD,QAAA,0BAA0B,GAAG,4BAA4B,CAAC;AAC1D,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AACxD,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAC3B,QAAA,OAAO,GAAG,SAAS,CAAC;AAEjC,UAAU;AACG,QAAA,SAAS,GAAG,WAAW,CAAC;AAErC;;;GAGG;AACI,MAAM,SAAS,GAAG,CAAC,IAAc,EAAE,EAAE;IAC1C,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;YACvC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAC/B,OAAO,GAAG,CAAC;aACZ;YACD,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAE7C,uCACK,GAAG,KACN,CAAC,GAAG,CAAC,EAAE,KAAK,IACZ;QACJ,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC;AAhBW,QAAA,SAAS,aAgBpB"}
|
@@ -1,45 +0,0 @@
|
|
1
|
-
/// <reference types="node" />
|
2
|
-
import FormData from "form-data";
|
3
|
-
import { ReadStream } from "fs";
|
4
|
-
import { ApiKeyValidator } from "./apikey";
|
5
|
-
import { RequestBuilder } from "./interfaces";
|
6
|
-
/** Multipart payload destined to be sent to Datadog's API
|
7
|
-
*/
|
8
|
-
export interface MultipartPayload {
|
9
|
-
content: Map<string, MultipartValue>;
|
10
|
-
}
|
11
|
-
export interface MultipartValue {
|
12
|
-
options?: FormData.AppendOptions | string;
|
13
|
-
value: string | ReadStream;
|
14
|
-
}
|
15
|
-
export interface UploadOptions {
|
16
|
-
/** ApiKeyValidator (optional) throws an InvalidConfigurationException when upload fails because
|
17
|
-
* of an invalid API key. Callers should most likely catch this exception and display it as a
|
18
|
-
* nice error message.
|
19
|
-
*/
|
20
|
-
apiKeyValidator?: ApiKeyValidator;
|
21
|
-
/** Retries is the amount of upload retries before giving up. Some requests are never retried
|
22
|
-
* (400, 413).
|
23
|
-
*/
|
24
|
-
retries: number;
|
25
|
-
/** Callback when upload fails (retries are not considered as failure)
|
26
|
-
*/
|
27
|
-
onError(error: Error): void;
|
28
|
-
/** Callback to execute before retries
|
29
|
-
*/
|
30
|
-
onRetry(error: Error, attempts: number): void;
|
31
|
-
/** Callback to execute before upload.
|
32
|
-
*/
|
33
|
-
onUpload(): void;
|
34
|
-
}
|
35
|
-
export declare enum UploadStatus {
|
36
|
-
Success = 0,
|
37
|
-
Failure = 1,
|
38
|
-
Skipped = 2
|
39
|
-
}
|
40
|
-
/** Upload a MultipartPayload to Datadog's API using the provided RequestBuilder.
|
41
|
-
* This handles retries as well as logging information about upload if a logger is provided in
|
42
|
-
* the options
|
43
|
-
*/
|
44
|
-
export declare const upload: (requestBuilder: RequestBuilder) => (payload: MultipartPayload, opts: UploadOptions) => Promise<UploadStatus>;
|
45
|
-
//# sourceMappingURL=upload.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../src/helpers/upload.ts"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C;GACG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,MAAM,CAAC;IAC1C,KAAK,EAAE,MAAM,GAAG,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;OACG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAE5B;OACG;IACH,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9C;OACG;IACH,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,oBAAY,YAAY;IACtB,OAAO,IAAA;IACP,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED;;;GAGG;AACH,eAAO,MAAM,MAAM,mBACA,cAAc,eACf,gBAAgB,QAAQ,aAAa,KAAG,QAAQ,YAAY,CAwB3E,CAAC"}
|
@@ -1,70 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
-
};
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
-
exports.upload = exports.UploadStatus = void 0;
|
16
|
-
const form_data_1 = __importDefault(require("form-data"));
|
17
|
-
const retry_1 = require("./retry");
|
18
|
-
var UploadStatus;
|
19
|
-
(function (UploadStatus) {
|
20
|
-
UploadStatus[UploadStatus["Success"] = 0] = "Success";
|
21
|
-
UploadStatus[UploadStatus["Failure"] = 1] = "Failure";
|
22
|
-
UploadStatus[UploadStatus["Skipped"] = 2] = "Skipped";
|
23
|
-
})(UploadStatus = exports.UploadStatus || (exports.UploadStatus = {}));
|
24
|
-
/** Upload a MultipartPayload to Datadog's API using the provided RequestBuilder.
|
25
|
-
* This handles retries as well as logging information about upload if a logger is provided in
|
26
|
-
* the options
|
27
|
-
*/
|
28
|
-
const upload = (requestBuilder) => (payload, opts) => __awaiter(void 0, void 0, void 0, function* () {
|
29
|
-
opts.onUpload();
|
30
|
-
try {
|
31
|
-
yield (0, retry_1.retryRequest)(() => uploadMultipart(requestBuilder, payload), {
|
32
|
-
onRetry: opts.onRetry,
|
33
|
-
retries: opts.retries,
|
34
|
-
});
|
35
|
-
return UploadStatus.Success;
|
36
|
-
}
|
37
|
-
catch (error) {
|
38
|
-
if (opts.apiKeyValidator) {
|
39
|
-
// Raise an exception in case of invalid API key
|
40
|
-
yield opts.apiKeyValidator.verifyApiKey(error);
|
41
|
-
}
|
42
|
-
if (error.response && error.response.statusText) {
|
43
|
-
// Rewrite error to have formatted error string
|
44
|
-
opts.onError(new Error(`${error.message} (${error.response.statusText})`));
|
45
|
-
}
|
46
|
-
else {
|
47
|
-
// Default error handling
|
48
|
-
opts.onError(error);
|
49
|
-
}
|
50
|
-
return UploadStatus.Failure;
|
51
|
-
}
|
52
|
-
});
|
53
|
-
exports.upload = upload;
|
54
|
-
// Dependency follows-redirects sets a default maxBodyLength of 10 MB https://github.com/follow-redirects/follow-redirects/blob/b774a77e582b97174813b3eaeb86931becba69db/index.js#L391
|
55
|
-
// We don't want any hard limit enforced by the CLI, the backend will enforce a max size by returning 413 errors.
|
56
|
-
const maxBodyLength = Infinity;
|
57
|
-
const uploadMultipart = (request, payload) => __awaiter(void 0, void 0, void 0, function* () {
|
58
|
-
const form = new form_data_1.default();
|
59
|
-
payload.content.forEach((value, key) => {
|
60
|
-
form.append(key, value.value, value.options);
|
61
|
-
});
|
62
|
-
return request({
|
63
|
-
data: form,
|
64
|
-
headers: form.getHeaders(),
|
65
|
-
maxBodyLength,
|
66
|
-
method: "POST",
|
67
|
-
url: "v1/input",
|
68
|
-
});
|
69
|
-
});
|
70
|
-
//# sourceMappingURL=upload.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/helpers/upload.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAAiC;AAIjC,mCAAuC;AAsCvC,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,qDAAO,CAAA;IACP,qDAAO,CAAA;IACP,qDAAO,CAAA;AACT,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB;AAED;;;GAGG;AACI,MAAM,MAAM,GACjB,CAAC,cAA8B,EAAE,EAAE,CACnC,CAAO,OAAyB,EAAE,IAAmB,EAAyB,EAAE;IAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;IAChB,IAAI;QACF,MAAM,IAAA,oBAAY,EAAC,GAAG,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE;YACjE,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QAEH,OAAO,YAAY,CAAC,OAAO,CAAC;KAC7B;IAAC,OAAO,KAAU,EAAE;QACnB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,gDAAgD;YAChD,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SAChD;QACD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC/C,+CAA+C;YAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;SAC5E;aAAM;YACL,yBAAyB;YACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACrB;QAED,OAAO,YAAY,CAAC,OAAO,CAAC;KAC7B;AACH,CAAC,CAAA,CAAC;AA1BS,QAAA,MAAM,UA0Bf;AAEJ,sLAAsL;AACtL,iHAAiH;AACjH,MAAM,aAAa,GAAG,QAAQ,CAAC;AAE/B,MAAM,eAAe,GAAG,CAAO,OAAuB,EAAE,OAAyB,EAAE,EAAE;IACnF,MAAM,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;IAC5B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAqB,EAAE,GAAW,EAAE,EAAE;QAC7D,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;QACb,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;QAC1B,aAAa;QACb,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,UAAU;KAChB,CAAC,CAAC;AACL,CAAC,CAAA,CAAC"}
|
@@ -1,31 +0,0 @@
|
|
1
|
-
import { AxiosRequestConfig } from "axios";
|
2
|
-
import ProxyAgent from "proxy-agent";
|
3
|
-
import type { SpanTags } from "./interfaces";
|
4
|
-
export declare const pick: <T extends object, K extends keyof T>(base: T, keys: K[]) => Partial<T>;
|
5
|
-
export declare const getConfig: (configPath: string) => Promise<any>;
|
6
|
-
declare type ProxyType = "http" | "https" | "socks" | "socks4" | "socks4a" | "socks5" | "socks5h" | "pac+data" | "pac+file" | "pac+ftp" | "pac+http" | "pac+https";
|
7
|
-
export interface ProxyConfiguration {
|
8
|
-
auth?: {
|
9
|
-
password: string;
|
10
|
-
username: string;
|
11
|
-
};
|
12
|
-
host?: string;
|
13
|
-
port?: number;
|
14
|
-
protocol: ProxyType;
|
15
|
-
}
|
16
|
-
export declare const getProxyUrl: (options?: ProxyConfiguration | undefined) => string;
|
17
|
-
export interface RequestOptions {
|
18
|
-
apiKey: string;
|
19
|
-
appKey?: string;
|
20
|
-
baseUrl: string;
|
21
|
-
headers?: Map<string, string>;
|
22
|
-
overrideUrl?: string;
|
23
|
-
proxyOpts?: ProxyConfiguration;
|
24
|
-
}
|
25
|
-
export declare const getRequestBuilder: (options: RequestOptions) => (args: AxiosRequestConfig) => import("axios").AxiosPromise<any>;
|
26
|
-
export declare const getProxyAgent: (proxyOpts?: ProxyConfiguration | undefined) => ReturnType<typeof ProxyAgent>;
|
27
|
-
export declare const getApiHostForSite: (site: string) => string;
|
28
|
-
export declare const buildPath: (...args: string[]) => string;
|
29
|
-
export declare const removeEmptyValues: (tags: SpanTags) => {};
|
30
|
-
export {};
|
31
|
-
//# sourceMappingURL=utils.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/helpers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,OAAO,CAAC;AAE7D,OAAO,UAAU,MAAM,aAAa,CAAC;AAErC,OAAO,KAAK,EAAW,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEtD,eAAO,MAAM,IAAI,yEAShB,CAAC;AAEF,eAAO,MAAM,SAAS,eAAsB,MAAM,iBAIjD,CAAC;AAEF,aAAK,SAAS,GACV,MAAM,GACN,OAAO,GACP,OAAO,GACP,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,UAAU,GACV,UAAU,GACV,SAAS,GACT,UAAU,GACV,WAAW,CAAC;AAEhB,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,gDAAmC,MAc1D,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC;AAED,eAAO,MAAM,iBAAiB,YAAa,cAAc,YAsCzC,kBAAkB,sCACjC,CAAC;AAEF,eAAO,MAAM,aAAa,kDAAqC,WAAW,iBAAiB,CAI1F,CAAC;AAEF,eAAO,MAAM,iBAAiB,SAAU,MAAM,WAS7C,CAAC;AAIF,eAAO,MAAM,SAAS,YAAa,MAAM,EAAE,WAc7B,CAAC;AAEf,eAAO,MAAM,iBAAiB,SAAU,QAAQ,OAUxC,CAAC"}
|
@@ -1,115 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
|
-
};
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
15
|
-
exports.removeEmptyValues = exports.buildPath = exports.getApiHostForSite = exports.getProxyAgent = exports.getRequestBuilder = exports.getProxyUrl = exports.getConfig = exports.pick = void 0;
|
16
|
-
const axios_1 = __importDefault(require("axios"));
|
17
|
-
const fs_1 = __importDefault(require("fs"));
|
18
|
-
const proxy_agent_1 = __importDefault(require("proxy-agent"));
|
19
|
-
const util_1 = require("util");
|
20
|
-
const pick = (base, keys) => {
|
21
|
-
const definedKeys = keys.filter((key) => !!base[key]);
|
22
|
-
const pickedObject = {};
|
23
|
-
for (const key of definedKeys) {
|
24
|
-
pickedObject[key] = base[key];
|
25
|
-
}
|
26
|
-
return pickedObject;
|
27
|
-
};
|
28
|
-
exports.pick = pick;
|
29
|
-
const getConfig = (configPath) => __awaiter(void 0, void 0, void 0, function* () {
|
30
|
-
const configFile = yield (0, util_1.promisify)(fs_1.default.readFile)(configPath, "utf-8");
|
31
|
-
return JSON.parse(configFile);
|
32
|
-
});
|
33
|
-
exports.getConfig = getConfig;
|
34
|
-
const getProxyUrl = (options) => {
|
35
|
-
if (!options) {
|
36
|
-
return "";
|
37
|
-
}
|
38
|
-
const { auth, host, port, protocol } = options;
|
39
|
-
if (!host || !port) {
|
40
|
-
return "";
|
41
|
-
}
|
42
|
-
const authFragment = auth ? `${auth.username}:${auth.password}@` : "";
|
43
|
-
return `${protocol}://${authFragment}${host}:${port}`;
|
44
|
-
};
|
45
|
-
exports.getProxyUrl = getProxyUrl;
|
46
|
-
const getRequestBuilder = (options) => {
|
47
|
-
const { apiKey, appKey, baseUrl, overrideUrl, proxyOpts } = options;
|
48
|
-
const overrideArgs = (args) => {
|
49
|
-
const newArguments = Object.assign(Object.assign({}, args), { headers: Object.assign(Object.assign({ "DD-API-KEY": apiKey }, (appKey ? { "DD-APPLICATION-KEY": appKey } : {})), args.headers) });
|
50
|
-
if (overrideUrl !== undefined) {
|
51
|
-
newArguments.url = overrideUrl;
|
52
|
-
}
|
53
|
-
const proxyAgent = (0, exports.getProxyAgent)(proxyOpts);
|
54
|
-
if (proxyAgent) {
|
55
|
-
newArguments.httpAgent = proxyAgent;
|
56
|
-
newArguments.httpsAgent = proxyAgent;
|
57
|
-
}
|
58
|
-
if (options.headers !== undefined) {
|
59
|
-
options.headers.forEach((value, key) => {
|
60
|
-
newArguments.headers[key] = value;
|
61
|
-
});
|
62
|
-
}
|
63
|
-
return newArguments;
|
64
|
-
};
|
65
|
-
const baseConfiguration = {
|
66
|
-
baseURL: baseUrl,
|
67
|
-
// Disabling proxy in Axios config as it's not working properly
|
68
|
-
// the passed httpAgent/httpsAgent are handling the proxy instead.
|
69
|
-
proxy: false,
|
70
|
-
};
|
71
|
-
return (args) => axios_1.default.create(baseConfiguration)(overrideArgs(args));
|
72
|
-
};
|
73
|
-
exports.getRequestBuilder = getRequestBuilder;
|
74
|
-
const getProxyAgent = (proxyOpts) => {
|
75
|
-
const proxyUrlFromConfiguration = (0, exports.getProxyUrl)(proxyOpts);
|
76
|
-
return new proxy_agent_1.default(proxyUrlFromConfiguration);
|
77
|
-
};
|
78
|
-
exports.getProxyAgent = getProxyAgent;
|
79
|
-
const getApiHostForSite = (site) => {
|
80
|
-
switch (site) {
|
81
|
-
case "datad0g.com":
|
82
|
-
return `app.${site}`;
|
83
|
-
case "datadoghq.com":
|
84
|
-
case "datadoghq.eu":
|
85
|
-
default:
|
86
|
-
return `api.${site}`;
|
87
|
-
}
|
88
|
-
};
|
89
|
-
exports.getApiHostForSite = getApiHostForSite;
|
90
|
-
// The buildPath function is used to concatenate several paths. The goal is to have a function working for both unix
|
91
|
-
// paths and URL whereas standard path.join does not work with both.
|
92
|
-
const buildPath = (...args) => args
|
93
|
-
.map((part, i) => {
|
94
|
-
if (i === 0) {
|
95
|
-
// For the first part, drop all / at the end of the path
|
96
|
-
return part.trim().replace(/[\/]*$/g, "");
|
97
|
-
}
|
98
|
-
else {
|
99
|
-
// For the following parts, remove all / at the beginning and at the end
|
100
|
-
return part.trim().replace(/(^[\/]*|[\/]*$)/g, "");
|
101
|
-
}
|
102
|
-
})
|
103
|
-
// Filter out emtpy parts
|
104
|
-
.filter((x) => x.length)
|
105
|
-
// Join all these parts with /
|
106
|
-
.join("/");
|
107
|
-
exports.buildPath = buildPath;
|
108
|
-
const removeEmptyValues = (tags) => Object.keys(tags).reduce((filteredTags, tag) => {
|
109
|
-
if (!tags[tag]) {
|
110
|
-
return filteredTags;
|
111
|
-
}
|
112
|
-
return Object.assign(Object.assign({}, filteredTags), { [tag]: tags[tag] });
|
113
|
-
}, {});
|
114
|
-
exports.removeEmptyValues = removeEmptyValues;
|
115
|
-
//# sourceMappingURL=utils.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/helpers/utils.ts"],"names":[],"mappings":"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"}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import { SimpleGit } from "simple-git";
|
2
|
-
export declare class SourceCodeIntegration {
|
3
|
-
repositoryURL?: string;
|
4
|
-
private apiKey;
|
5
|
-
private datadogSite;
|
6
|
-
private simpleGit;
|
7
|
-
constructor(apiKey: string, datadogSite: string, simpleGit: SimpleGit, repositoryURL?: string);
|
8
|
-
uploadGitMetadata(): Promise<{
|
9
|
-
hash: string;
|
10
|
-
remote: string;
|
11
|
-
}>;
|
12
|
-
private getRequestBuilder;
|
13
|
-
private uploadRepository;
|
14
|
-
}
|
15
|
-
//# sourceMappingURL=source-code-integration.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"source-code-integration.d.ts","sourceRoot":"","sources":["../../src/source-code-integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAUvC,qBAAa,qBAAqB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAY;gBAEjB,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,MAAM;IAOhF,iBAAiB;;;;IAiC9B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,gBAAgB;CASzB"}
|