@activeboxes/pieces-common 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/package.json +35 -0
- package/src/index.d.ts +6 -0
- package/src/index.js +10 -0
- package/src/index.js.map +1 -0
- package/src/lib/ai/index.d.ts +94 -0
- package/src/lib/ai/index.js +44 -0
- package/src/lib/ai/index.js.map +1 -0
- package/src/lib/ai/providers/anthropic/index.d.ts +2 -0
- package/src/lib/ai/providers/anthropic/index.js +148 -0
- package/src/lib/ai/providers/anthropic/index.js.map +1 -0
- package/src/lib/ai/providers/index.d.ts +79 -0
- package/src/lib/ai/providers/index.js +170 -0
- package/src/lib/ai/providers/index.js.map +1 -0
- package/src/lib/ai/providers/openai/index.d.ts +22 -0
- package/src/lib/ai/providers/openai/index.js +224 -0
- package/src/lib/ai/providers/openai/index.js.map +1 -0
- package/src/lib/ai/providers/replicate/index.d.ts +10 -0
- package/src/lib/ai/providers/replicate/index.js +185 -0
- package/src/lib/ai/providers/replicate/index.js.map +1 -0
- package/src/lib/ai/providers/utils.d.ts +58 -0
- package/src/lib/ai/providers/utils.js +48 -0
- package/src/lib/ai/providers/utils.js.map +1 -0
- package/src/lib/authentication/index.d.ts +15 -0
- package/src/lib/authentication/index.js +9 -0
- package/src/lib/authentication/index.js.map +1 -0
- package/src/lib/helpers/index.d.ts +29 -0
- package/src/lib/helpers/index.js +101 -0
- package/src/lib/helpers/index.js.map +1 -0
- package/src/lib/http/axios/axios-http-client.d.ts +11 -0
- package/src/lib/http/axios/axios-http-client.js +74 -0
- package/src/lib/http/axios/axios-http-client.js.map +1 -0
- package/src/lib/http/core/base-http-client.d.ts +19 -0
- package/src/lib/http/core/base-http-client.js +52 -0
- package/src/lib/http/core/base-http-client.js.map +1 -0
- package/src/lib/http/core/delegating-authentication-converter.d.ts +17 -0
- package/src/lib/http/core/delegating-authentication-converter.js +33 -0
- package/src/lib/http/core/delegating-authentication-converter.js.map +1 -0
- package/src/lib/http/core/http-client.d.ts +9 -0
- package/src/lib/http/core/http-client.js +6 -0
- package/src/lib/http/core/http-client.js.map +1 -0
- package/src/lib/http/core/http-error.d.ts +33 -0
- package/src/lib/http/core/http-error.js +56 -0
- package/src/lib/http/core/http-error.js.map +1 -0
- package/src/lib/http/core/http-header.d.ts +6 -0
- package/src/lib/http/core/http-header.js +11 -0
- package/src/lib/http/core/http-header.js.map +1 -0
- package/src/lib/http/core/http-headers.d.ts +1 -0
- package/src/lib/http/core/http-headers.js +3 -0
- package/src/lib/http/core/http-headers.js.map +1 -0
- package/src/lib/http/core/http-message-body.d.ts +1 -0
- package/src/lib/http/core/http-message-body.js +3 -0
- package/src/lib/http/core/http-message-body.js.map +1 -0
- package/src/lib/http/core/http-method.d.ts +8 -0
- package/src/lib/http/core/http-method.js +13 -0
- package/src/lib/http/core/http-method.js.map +1 -0
- package/src/lib/http/core/http-request-body.d.ts +2 -0
- package/src/lib/http/core/http-request-body.js +3 -0
- package/src/lib/http/core/http-request-body.js.map +1 -0
- package/src/lib/http/core/http-request.d.ts +17 -0
- package/src/lib/http/core/http-request.js +3 -0
- package/src/lib/http/core/http-request.js.map +1 -0
- package/src/lib/http/core/http-response.d.ts +7 -0
- package/src/lib/http/core/http-response.js +3 -0
- package/src/lib/http/core/http-response.js.map +1 -0
- package/src/lib/http/core/media-type.d.ts +4 -0
- package/src/lib/http/core/media-type.js +9 -0
- package/src/lib/http/core/media-type.js.map +1 -0
- package/src/lib/http/core/query-params.d.ts +1 -0
- package/src/lib/http/core/query-params.js +3 -0
- package/src/lib/http/core/query-params.js.map +1 -0
- package/src/lib/http/index.d.ts +13 -0
- package/src/lib/http/index.js +17 -0
- package/src/lib/http/index.js.map +1 -0
- package/src/lib/polling/index.d.ts +57 -0
- package/src/lib/polling/index.js +136 -0
- package/src/lib/polling/index.js.map +1 -0
- package/src/lib/validation/index.d.ts +4 -0
- package/src/lib/validation/index.js +26 -0
- package/src/lib/validation/index.js.map +1 -0
@@ -0,0 +1,101 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.getAccessTokenOrThrow = void 0;
|
4
|
+
exports.createCustomApiCallAction = createCustomApiCallAction;
|
5
|
+
const tslib_1 = require("tslib");
|
6
|
+
const pieces_framework_1 = require("@activeboxes/pieces-framework");
|
7
|
+
const http_1 = require("../http");
|
8
|
+
const shared_1 = require("@activeboxes/shared");
|
9
|
+
const getAccessTokenOrThrow = (auth) => {
|
10
|
+
const accessToken = auth === null || auth === void 0 ? void 0 : auth.access_token;
|
11
|
+
if (accessToken === undefined) {
|
12
|
+
throw new Error('Invalid bearer token');
|
13
|
+
}
|
14
|
+
return accessToken;
|
15
|
+
};
|
16
|
+
exports.getAccessTokenOrThrow = getAccessTokenOrThrow;
|
17
|
+
const joinBaseUrlWithRelativePath = ({ baseUrl, relativePath }) => {
|
18
|
+
const baseUrlWithSlash = baseUrl.endsWith('/') ? baseUrl : `${baseUrl}/`;
|
19
|
+
const relativePathWithoutSlash = relativePath.startsWith('/') ? relativePath.slice(1) : relativePath;
|
20
|
+
return `${baseUrlWithSlash}${relativePathWithoutSlash}`;
|
21
|
+
};
|
22
|
+
const getBaseUrlForDescription = (baseUrl, auth) => {
|
23
|
+
const exampleBaseUrl = `https://api.example.com`;
|
24
|
+
try {
|
25
|
+
const baseUrlValue = auth ? baseUrl(auth) : undefined;
|
26
|
+
const baseUrlValueWithoutTrailingSlash = (baseUrlValue === null || baseUrlValue === void 0 ? void 0 : baseUrlValue.endsWith('/')) ? baseUrlValue.slice(0, -1) : baseUrlValue;
|
27
|
+
return baseUrlValueWithoutTrailingSlash !== null && baseUrlValueWithoutTrailingSlash !== void 0 ? baseUrlValueWithoutTrailingSlash : exampleBaseUrl;
|
28
|
+
}
|
29
|
+
//If baseUrl fails we stil want to return a valid baseUrl for description
|
30
|
+
catch (error) {
|
31
|
+
{
|
32
|
+
return exampleBaseUrl;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
};
|
36
|
+
function createCustomApiCallAction({ auth, baseUrl, authMapping, description, displayName, name, props, extraProps, }) {
|
37
|
+
var _a, _b, _c, _d, _e, _f;
|
38
|
+
return (0, pieces_framework_1.createAction)({
|
39
|
+
name: name ? name : 'custom_api_call',
|
40
|
+
displayName: displayName ? displayName : 'Custom API Call',
|
41
|
+
description: description
|
42
|
+
? description
|
43
|
+
: 'Make a custom API call to a specific endpoint',
|
44
|
+
auth: auth ? auth : undefined,
|
45
|
+
requireAuth: auth ? true : false,
|
46
|
+
props: Object.assign({ url: pieces_framework_1.Property.DynamicProperties({
|
47
|
+
displayName: '',
|
48
|
+
required: true,
|
49
|
+
refreshers: [],
|
50
|
+
props: (_a) => tslib_1.__awaiter(this, [_a], void 0, function* ({ auth }) {
|
51
|
+
var _b;
|
52
|
+
return {
|
53
|
+
url: pieces_framework_1.Property.ShortText(Object.assign({ displayName: 'URL', description: `You can either use the full URL or the relative path to the base URL
|
54
|
+
i.e ${getBaseUrlForDescription(baseUrl, auth)}/resource or /resource`, required: true, defaultValue: baseUrl(auth) }, ((_b = props === null || props === void 0 ? void 0 : props.url) !== null && _b !== void 0 ? _b : {}))),
|
55
|
+
};
|
56
|
+
}),
|
57
|
+
}), method: pieces_framework_1.Property.StaticDropdown(Object.assign({ displayName: 'Method', required: true, options: {
|
58
|
+
options: Object.values(http_1.HttpMethod).map((v) => {
|
59
|
+
return {
|
60
|
+
label: v,
|
61
|
+
value: v,
|
62
|
+
};
|
63
|
+
}),
|
64
|
+
} }, ((_a = props === null || props === void 0 ? void 0 : props.method) !== null && _a !== void 0 ? _a : {}))), headers: pieces_framework_1.Property.Object(Object.assign({ displayName: 'Headers', description: 'Authorization headers are injected automatically from your connection.', required: true }, ((_b = props === null || props === void 0 ? void 0 : props.headers) !== null && _b !== void 0 ? _b : {}))), queryParams: pieces_framework_1.Property.Object(Object.assign({ displayName: 'Query Parameters', required: true }, ((_c = props === null || props === void 0 ? void 0 : props.queryParams) !== null && _c !== void 0 ? _c : {}))), body: pieces_framework_1.Property.Json(Object.assign({ displayName: 'Body', required: false }, ((_d = props === null || props === void 0 ? void 0 : props.body) !== null && _d !== void 0 ? _d : {}))), failsafe: pieces_framework_1.Property.Checkbox(Object.assign({ displayName: 'No Error on Failure', required: false }, ((_e = props === null || props === void 0 ? void 0 : props.failsafe) !== null && _e !== void 0 ? _e : {}))), timeout: pieces_framework_1.Property.Number(Object.assign({ displayName: 'Timeout (in seconds)', required: false }, ((_f = props === null || props === void 0 ? void 0 : props.timeout) !== null && _f !== void 0 ? _f : {}))) }, extraProps),
|
65
|
+
run: (context) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
66
|
+
const { method, url, headers, queryParams, body, failsafe, timeout } = context.propsValue;
|
67
|
+
(0, shared_1.assertNotNullOrUndefined)(method, 'Method');
|
68
|
+
(0, shared_1.assertNotNullOrUndefined)(url, 'URL');
|
69
|
+
let headersValue = headers;
|
70
|
+
if (authMapping) {
|
71
|
+
const headers = yield authMapping(context.auth, context.propsValue);
|
72
|
+
if (headers) {
|
73
|
+
headersValue = Object.assign(Object.assign({}, headersValue), headers);
|
74
|
+
}
|
75
|
+
}
|
76
|
+
const urlValue = url['url'];
|
77
|
+
const fullUrl = urlValue.startsWith('http://') || urlValue.startsWith('https://') ? urlValue :
|
78
|
+
joinBaseUrlWithRelativePath({ baseUrl: baseUrl(context.auth), relativePath: urlValue });
|
79
|
+
const request = {
|
80
|
+
method,
|
81
|
+
url: fullUrl,
|
82
|
+
headers: headersValue,
|
83
|
+
queryParams: queryParams,
|
84
|
+
timeout: timeout ? timeout * 1000 : 0,
|
85
|
+
};
|
86
|
+
if (body) {
|
87
|
+
request.body = body;
|
88
|
+
}
|
89
|
+
try {
|
90
|
+
return yield http_1.httpClient.sendRequest(request);
|
91
|
+
}
|
92
|
+
catch (error) {
|
93
|
+
if (failsafe) {
|
94
|
+
return error.errorMessage();
|
95
|
+
}
|
96
|
+
throw error;
|
97
|
+
}
|
98
|
+
}),
|
99
|
+
});
|
100
|
+
}
|
101
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/common/src/lib/helpers/index.ts"],"names":[],"mappings":";;;AAmDA,8DA+IC;;AAlMD,oEAQuC;AACvC,kCAOiB;AACjB,gDAA+D;AAExD,MAAM,qBAAqB,GAAG,CACnC,IAAqC,EAC7B,EAAE;IACV,MAAM,WAAW,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,CAAC;IAEvC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAVW,QAAA,qBAAqB,yBAUhC;AACF,MAAM,2BAA2B,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAA6C,EAAE,EAAE;IAC3G,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAA;IACxE,MAAM,wBAAwB,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;IACpG,OAAO,GAAG,gBAAgB,GAAG,wBAAwB,EAAE,CAAA;AACxD,CAAC,CAAA;AAGF,MAAM,wBAAwB,GAAG,CAAC,OAAmC,EAAC,IAAc,EAAE,EAAE;IACtF,MAAM,cAAc,GAAG,yBAAyB,CAAA;IAChD,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtD,MAAM,gCAAgC,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,QAAQ,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAA;QAC/G,OAAO,gCAAgC,aAAhC,gCAAgC,cAAhC,gCAAgC,GAAI,cAAc,CAAA;IAC3D,CAAC;IACD,yEAAyE;IACzE,OAAO,KAAK,EAAE,CAAC;QACf,CAAC;YACC,OAAO,cAAc,CAAA;QACvB,CAAC;IACH,CAAC;AACD,CAAC,CAAA;AACD,SAAgB,yBAAyB,CAAC,EACxC,IAAI,EACJ,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACX,IAAI,EACJ,KAAK,EACL,UAAU,GAsBX;;IAEC,OAAO,IAAA,+BAAY,EAAC;QAClB,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB;QACrC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB;QAC1D,WAAW,EAAE,WAAW;YACtB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,+CAA+C;QACnD,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC7B,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QAChC,KAAK,kBACH,GAAG,EAAE,2BAAQ,CAAC,iBAAiB,CAAC;gBAC9B,WAAW,EAAE,EAAE;gBACf,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,EAAE;gBACd,KAAK,EAAE,KAAiB,EAAE,kDAAZ,EAAE,IAAI,EAAE;;oBACpB,OAAO;wBACL,GAAG,EAAE,2BAAQ,CAAC,SAAS,iBACrB,WAAW,EAAE,KAAK,EAClB,WAAW,EAAE;MACrB,wBAAwB,CAAC,OAAO,EAAC,IAAI,CAAC,wBAAwB,EACtD,QAAQ,EAAE,IAAI,EACd,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,IACxB,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,mCAAI,EAAE,CAAC,EACrB;qBACH,CAAC;gBACJ,CAAC,CAAA;aACF,CAAC,EACF,MAAM,EAAE,2BAAQ,CAAC,cAAc,iBAC7B,WAAW,EAAE,QAAQ,EACrB,QAAQ,EAAE,IAAI,EACd,OAAO,EAAE;oBACP,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC3C,OAAO;4BACL,KAAK,EAAE,CAAC;4BACR,KAAK,EAAE,CAAC;yBACT,CAAC;oBACJ,CAAC,CAAC;iBACH,IACE,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,mCAAI,EAAE,CAAC,EACxB,EACF,OAAO,EAAE,2BAAQ,CAAC,MAAM,iBACtB,WAAW,EAAE,SAAS,EACtB,WAAW,EACT,wEAAwE,EAC1E,QAAQ,EAAE,IAAI,IACX,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,EAAE,CAAC,EACzB,EACF,WAAW,EAAE,2BAAQ,CAAC,MAAM,iBAC1B,WAAW,EAAE,kBAAkB,EAC/B,QAAQ,EAAE,IAAI,IACX,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,WAAW,mCAAI,EAAE,CAAC,EAC7B,EACF,IAAI,EAAE,2BAAQ,CAAC,IAAI,iBACjB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,KAAK,IACZ,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,EAAE,CAAC,EACtB,EACF,QAAQ,EAAE,2BAAQ,CAAC,QAAQ,iBACzB,WAAW,EAAE,qBAAqB,EAClC,QAAQ,EAAE,KAAK,IACZ,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,EAAE,CAAC,EAC1B,EACF,OAAO,EAAE,2BAAQ,CAAC,MAAM,iBACtB,WAAW,EAAE,sBAAsB,EACnC,QAAQ,EAAE,KAAK,IACZ,CAAC,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,mCAAI,EAAE,CAAC,EACzB,IACC,UAAU,CACd;QAED,GAAG,EAAE,CAAO,OAAO,EAAE,EAAE;YACrB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAClE,OAAO,CAAC,UAAU,CAAC;YAErB,IAAA,iCAAwB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC3C,IAAA,iCAAwB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAErC,IAAI,YAAY,GAAG,OAAsB,CAAC;YAC1C,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;gBACpE,IAAI,OAAO,EAAE,CAAC;oBACZ,YAAY,mCACP,YAAY,GACZ,OAAO,CACX,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAW,CAAC;YACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC/E,2BAA2B,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAC,CAAC,CAAA;YACrG,MAAM,OAAO,GAAyC;gBACpD,MAAM;gBACN,GAAG,EAAE,OAAO;gBACZ,OAAO,EAAE,YAAY;gBACrB,WAAW,EAAE,WAA0B;gBACvC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;aACtC,CAAC;YAEF,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACtB,CAAC;YAED,IAAI,CAAC;gBACH,OAAO,MAAM,iBAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAQ,KAAmB,CAAC,YAAY,EAAE,CAAC;gBAC7C,CAAC;gBACD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC,CAAA;KACF,CAAC,CAAC;AACL,CAAC"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { DelegatingAuthenticationConverter } from '../core/delegating-authentication-converter';
|
2
|
+
import { BaseHttpClient } from '../core/base-http-client';
|
3
|
+
import { HttpMessageBody } from '../core/http-message-body';
|
4
|
+
import { HttpRequest } from '../core/http-request';
|
5
|
+
import { HttpResponse } from '../core/http-response';
|
6
|
+
import { HttpRequestBody } from '../core/http-request-body';
|
7
|
+
export declare class AxiosHttpClient extends BaseHttpClient {
|
8
|
+
constructor(baseUrl?: string, authenticationConverter?: DelegatingAuthenticationConverter);
|
9
|
+
sendRequest<ResponseBody extends HttpMessageBody = any>(request: HttpRequest<HttpRequestBody>): Promise<HttpResponse<ResponseBody>>;
|
10
|
+
private getAxiosRequestMethod;
|
11
|
+
}
|
@@ -0,0 +1,74 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.AxiosHttpClient = void 0;
|
4
|
+
const tslib_1 = require("tslib");
|
5
|
+
const axios_1 = tslib_1.__importDefault(require("axios"));
|
6
|
+
const axios_retry_1 = tslib_1.__importDefault(require("axios-retry"));
|
7
|
+
const delegating_authentication_converter_1 = require("../core/delegating-authentication-converter");
|
8
|
+
const base_http_client_1 = require("../core/base-http-client");
|
9
|
+
const http_error_1 = require("../core/http-error");
|
10
|
+
const https = tslib_1.__importStar(require("node:https"));
|
11
|
+
class AxiosHttpClient extends base_http_client_1.BaseHttpClient {
|
12
|
+
constructor(baseUrl = '', authenticationConverter = new delegating_authentication_converter_1.DelegatingAuthenticationConverter()) {
|
13
|
+
super(baseUrl, authenticationConverter);
|
14
|
+
}
|
15
|
+
sendRequest(request) {
|
16
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
17
|
+
var _a, _b;
|
18
|
+
try {
|
19
|
+
const { urlWithoutQueryParams, queryParams: urlQueryParams } = this.getUrl(request);
|
20
|
+
const headers = this.getHeaders(request);
|
21
|
+
const axiosRequestMethod = this.getAxiosRequestMethod(request.method);
|
22
|
+
const timeout = request.timeout ? request.timeout : 0;
|
23
|
+
const queryParams = request.queryParams || {};
|
24
|
+
const responseType = request.responseType || 'json';
|
25
|
+
const axiosInstance = axios_1.default.create({
|
26
|
+
httpsAgent: new https.Agent({
|
27
|
+
rejectUnauthorized: request.rejectUnauthorized,
|
28
|
+
})
|
29
|
+
});
|
30
|
+
for (const [key, value] of urlQueryParams) {
|
31
|
+
queryParams[key] = value;
|
32
|
+
}
|
33
|
+
const config = {
|
34
|
+
method: axiosRequestMethod,
|
35
|
+
url: urlWithoutQueryParams,
|
36
|
+
params: queryParams,
|
37
|
+
headers,
|
38
|
+
data: request.body,
|
39
|
+
timeout,
|
40
|
+
responseType,
|
41
|
+
};
|
42
|
+
if (request.retries && request.retries > 0) {
|
43
|
+
(0, axios_retry_1.default)(axiosInstance, {
|
44
|
+
retries: request.retries,
|
45
|
+
retryDelay: axios_retry_1.default.exponentialDelay,
|
46
|
+
retryCondition: (error) => {
|
47
|
+
return axios_retry_1.default.isNetworkOrIdempotentRequestError(error) || (error.response && error.response.status >= 500) || false;
|
48
|
+
},
|
49
|
+
});
|
50
|
+
}
|
51
|
+
const response = yield axiosInstance.request(config);
|
52
|
+
return {
|
53
|
+
status: response.status,
|
54
|
+
headers: response.headers,
|
55
|
+
body: response.data,
|
56
|
+
};
|
57
|
+
}
|
58
|
+
catch (e) {
|
59
|
+
console.error('[HttpClient#sendRequest] error:', e);
|
60
|
+
if (axios_1.default.isAxiosError(e)) {
|
61
|
+
console.error('[HttpClient#sendRequest] error, responseStatus:', (_a = e.response) === null || _a === void 0 ? void 0 : _a.status);
|
62
|
+
console.error('[HttpClient#sendRequest] error, responseBody:', JSON.stringify((_b = e.response) === null || _b === void 0 ? void 0 : _b.data));
|
63
|
+
throw new http_error_1.HttpError(request.body, e);
|
64
|
+
}
|
65
|
+
throw e;
|
66
|
+
}
|
67
|
+
});
|
68
|
+
}
|
69
|
+
getAxiosRequestMethod(httpMethod) {
|
70
|
+
return httpMethod.toString();
|
71
|
+
}
|
72
|
+
}
|
73
|
+
exports.AxiosHttpClient = AxiosHttpClient;
|
74
|
+
//# sourceMappingURL=axios-http-client.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"axios-http-client.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/axios/axios-http-client.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { DelegatingAuthenticationConverter } from './delegating-authentication-converter';
|
2
|
+
import type { HttpClient } from './http-client';
|
3
|
+
import type { HttpHeaders } from './http-headers';
|
4
|
+
import type { HttpMessageBody } from './http-message-body';
|
5
|
+
import type { HttpRequest } from './http-request';
|
6
|
+
import { HttpRequestBody } from './http-request-body';
|
7
|
+
import { HttpResponse } from './http-response';
|
8
|
+
export declare abstract class BaseHttpClient implements HttpClient {
|
9
|
+
private readonly baseUrl;
|
10
|
+
private readonly authenticationConverter;
|
11
|
+
constructor(baseUrl: string, authenticationConverter: DelegatingAuthenticationConverter);
|
12
|
+
abstract sendRequest<RequestBody extends HttpMessageBody, ResponseBody extends HttpMessageBody>(request: HttpRequest<RequestBody>): Promise<HttpResponse<ResponseBody>>;
|
13
|
+
protected getUrl<RequestBody extends HttpMessageBody>(request: HttpRequest<RequestBody>): {
|
14
|
+
urlWithoutQueryParams: string;
|
15
|
+
queryParams: URLSearchParams;
|
16
|
+
};
|
17
|
+
protected getHeaders<RequestBody extends HttpRequestBody>(request: HttpRequest<RequestBody>): HttpHeaders;
|
18
|
+
private populateAuthentication;
|
19
|
+
}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.BaseHttpClient = void 0;
|
4
|
+
const http_header_1 = require("./http-header");
|
5
|
+
const media_type_1 = require("./media-type");
|
6
|
+
class BaseHttpClient {
|
7
|
+
constructor(baseUrl, authenticationConverter) {
|
8
|
+
this.baseUrl = baseUrl;
|
9
|
+
this.authenticationConverter = authenticationConverter;
|
10
|
+
}
|
11
|
+
getUrl(request) {
|
12
|
+
const url = new URL(`${this.baseUrl}${request.url}`);
|
13
|
+
const urlWithoutQueryParams = `${url.origin}${url.pathname}`;
|
14
|
+
const queryParams = new URLSearchParams();
|
15
|
+
// Extract query parameters
|
16
|
+
url.searchParams.forEach((value, key) => {
|
17
|
+
queryParams.append(key, value);
|
18
|
+
});
|
19
|
+
return {
|
20
|
+
urlWithoutQueryParams,
|
21
|
+
queryParams,
|
22
|
+
};
|
23
|
+
}
|
24
|
+
getHeaders(request) {
|
25
|
+
var _a;
|
26
|
+
let requestHeaders = {
|
27
|
+
[http_header_1.HttpHeader.ACCEPT]: media_type_1.MediaType.APPLICATION_JSON,
|
28
|
+
};
|
29
|
+
if (request.authentication) {
|
30
|
+
this.populateAuthentication(request.authentication, requestHeaders);
|
31
|
+
}
|
32
|
+
if (request.body) {
|
33
|
+
switch ((_a = request.headers) === null || _a === void 0 ? void 0 : _a['Content-Type']) {
|
34
|
+
case 'text/csv':
|
35
|
+
requestHeaders[http_header_1.HttpHeader.CONTENT_TYPE] = media_type_1.MediaType.TEXT_CSV;
|
36
|
+
break;
|
37
|
+
default:
|
38
|
+
requestHeaders[http_header_1.HttpHeader.CONTENT_TYPE] = media_type_1.MediaType.APPLICATION_JSON;
|
39
|
+
break;
|
40
|
+
}
|
41
|
+
}
|
42
|
+
if (request.headers) {
|
43
|
+
requestHeaders = Object.assign(Object.assign({}, requestHeaders), request.headers);
|
44
|
+
}
|
45
|
+
return requestHeaders;
|
46
|
+
}
|
47
|
+
populateAuthentication(authentication, headers) {
|
48
|
+
this.authenticationConverter.convert(authentication, headers);
|
49
|
+
}
|
50
|
+
}
|
51
|
+
exports.BaseHttpClient = BaseHttpClient;
|
52
|
+
//# sourceMappingURL=base-http-client.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"base-http-client.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/base-http-client.ts"],"names":[],"mappings":";;;AAGA,+CAA2C;AAM3C,6CAAyC;AAEzC,MAAsB,cAAc;IAClC,YACmB,OAAe,EACf,uBAA0D;QAD1D,YAAO,GAAP,OAAO,CAAQ;QACf,4BAAuB,GAAvB,uBAAuB,CAAmC;IAC1E,CAAC;IAOM,MAAM,CACd,OAAiC;QAKjC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACrD,MAAM,qBAAqB,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAC1C,2BAA2B;QAC3B,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,OAAO;YACL,qBAAqB;YACrB,WAAW;SACZ,CAAC;IACJ,CAAC;IAES,UAAU,CAClB,OAAiC;;QAEjC,IAAI,cAAc,GAAgB;YAChC,CAAC,wBAAU,CAAC,MAAM,CAAC,EAAE,sBAAS,CAAC,gBAAgB;SAChD,CAAC;QAEF,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAC3B,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,QAAQ,MAAA,OAAO,CAAC,OAAO,0CAAG,cAAc,CAAC,EAAE,CAAC;gBAC1C,KAAK,UAAU;oBACb,cAAc,CAAC,wBAAU,CAAC,YAAY,CAAC,GAAG,sBAAS,CAAC,QAAQ,CAAC;oBAC7D,MAAM;gBAER;oBACE,cAAc,CAAC,wBAAU,CAAC,YAAY,CAAC,GAAG,sBAAS,CAAC,gBAAgB,CAAC;oBACrE,MAAM;YACV,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,cAAc,mCAAQ,cAAc,GAAK,OAAO,CAAC,OAAO,CAAE,CAAC;QAC7D,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,sBAAsB,CAC5B,cAA8B,EAC9B,OAAoB;QAEpB,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;CACF;AAhED,wCAgEC"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import type { HttpHeaders } from './http-headers';
|
2
|
+
import { Authentication, BasicAuthentication, BearerTokenAuthentication } from '../../authentication';
|
3
|
+
export declare class DelegatingAuthenticationConverter implements AuthenticationConverter<Authentication> {
|
4
|
+
private readonly converters;
|
5
|
+
constructor(bearerTokenConverter?: BearerTokenAuthenticationConverter, basicTokenConverter?: BasicTokenAuthenticationConverter);
|
6
|
+
convert(authentication: Authentication, headers: HttpHeaders): HttpHeaders;
|
7
|
+
}
|
8
|
+
declare class BearerTokenAuthenticationConverter implements AuthenticationConverter<BearerTokenAuthentication> {
|
9
|
+
convert(authentication: BearerTokenAuthentication, headers: HttpHeaders): HttpHeaders;
|
10
|
+
}
|
11
|
+
declare class BasicTokenAuthenticationConverter implements AuthenticationConverter<BasicAuthentication> {
|
12
|
+
convert(authentication: BasicAuthentication, headers: HttpHeaders): HttpHeaders;
|
13
|
+
}
|
14
|
+
type AuthenticationConverter<T extends Authentication> = {
|
15
|
+
convert: (authentication: T, headers: HttpHeaders) => HttpHeaders;
|
16
|
+
};
|
17
|
+
export {};
|
@@ -0,0 +1,33 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.DelegatingAuthenticationConverter = void 0;
|
4
|
+
const http_header_1 = require("./http-header");
|
5
|
+
const authentication_1 = require("../../authentication");
|
6
|
+
class DelegatingAuthenticationConverter {
|
7
|
+
constructor(bearerTokenConverter = new BearerTokenAuthenticationConverter(), basicTokenConverter = new BasicTokenAuthenticationConverter()) {
|
8
|
+
this.converters = {
|
9
|
+
[authentication_1.AuthenticationType.BEARER_TOKEN]: bearerTokenConverter,
|
10
|
+
[authentication_1.AuthenticationType.BASIC]: basicTokenConverter,
|
11
|
+
};
|
12
|
+
}
|
13
|
+
convert(authentication, headers) {
|
14
|
+
const converter = this.converters[authentication.type];
|
15
|
+
return converter.convert(authentication, headers);
|
16
|
+
}
|
17
|
+
}
|
18
|
+
exports.DelegatingAuthenticationConverter = DelegatingAuthenticationConverter;
|
19
|
+
class BearerTokenAuthenticationConverter {
|
20
|
+
convert(authentication, headers) {
|
21
|
+
headers[http_header_1.HttpHeader.AUTHORIZATION] = `Bearer ${authentication.token}`;
|
22
|
+
return headers;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
class BasicTokenAuthenticationConverter {
|
26
|
+
convert(authentication, headers) {
|
27
|
+
const credentials = `${authentication.username}:${authentication.password}`;
|
28
|
+
const encoded = Buffer.from(credentials).toString('base64');
|
29
|
+
headers[http_header_1.HttpHeader.AUTHORIZATION] = `Basic ${encoded}`;
|
30
|
+
return headers;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
//# sourceMappingURL=delegating-authentication-converter.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"delegating-authentication-converter.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/delegating-authentication-converter.ts"],"names":[],"mappings":";;;AACA,+CAA2C;AAC3C,yDAK8B;AAE9B,MAAa,iCAAiC;IAQ5C,YACE,oBAAoB,GAAG,IAAI,kCAAkC,EAAE,EAC/D,mBAAmB,GAAG,IAAI,iCAAiC,EAAE;QAE7D,IAAI,CAAC,UAAU,GAAG;YAChB,CAAC,mCAAkB,CAAC,YAAY,CAAC,EAAE,oBAAoB;YACvD,CAAC,mCAAkB,CAAC,KAAK,CAAC,EAAE,mBAAmB;SAChD,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,cAA8B,EAAE,OAAoB;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO,SAAS,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;CACF;AAtBD,8EAsBC;AAED,MAAM,kCAAkC;IAGtC,OAAO,CACL,cAAyC,EACzC,OAAoB;QAEpB,OAAO,CAAC,wBAAU,CAAC,aAAa,CAAC,GAAG,UAAU,cAAc,CAAC,KAAK,EAAE,CAAC;QACrE,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,MAAM,iCAAiC;IAGrC,OAAO,CACL,cAAmC,EACnC,OAAoB;QAEpB,MAAM,WAAW,GAAG,GAAG,cAAc,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,EAAE,CAAC;QAC5E,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5D,OAAO,CAAC,wBAAU,CAAC,aAAa,CAAC,GAAG,SAAS,OAAO,EAAE,CAAC;QACvD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
import { AxiosHttpClient } from '../axios/axios-http-client';
|
2
|
+
import type { HttpMessageBody } from './http-message-body';
|
3
|
+
import type { HttpRequest } from './http-request';
|
4
|
+
import { HttpRequestBody } from './http-request-body';
|
5
|
+
import { HttpResponse } from './http-response';
|
6
|
+
export type HttpClient = {
|
7
|
+
sendRequest<RequestBody extends HttpRequestBody, ResponseBody extends HttpMessageBody>(request: HttpRequest<RequestBody>): Promise<HttpResponse<ResponseBody>>;
|
8
|
+
};
|
9
|
+
export declare const httpClient: AxiosHttpClient;
|
@@ -0,0 +1,6 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.httpClient = void 0;
|
4
|
+
const axios_http_client_1 = require("../axios/axios-http-client");
|
5
|
+
exports.httpClient = new axios_http_client_1.AxiosHttpClient();
|
6
|
+
//# sourceMappingURL=http-client.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/http-client.ts"],"names":[],"mappings":";;;AAAA,kEAA6D;AAehD,QAAA,UAAU,GAAG,IAAI,mCAAe,EAAE,CAAC"}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { AxiosError } from 'axios';
|
2
|
+
export declare class HttpError extends Error {
|
3
|
+
private readonly requestBody;
|
4
|
+
private readonly errorString;
|
5
|
+
private readonly errorCode;
|
6
|
+
private readonly status;
|
7
|
+
private readonly responseBody;
|
8
|
+
constructor(requestBody: unknown, err: AxiosError);
|
9
|
+
errorMessage(): {
|
10
|
+
response: {
|
11
|
+
status: number;
|
12
|
+
body: unknown;
|
13
|
+
};
|
14
|
+
request: {
|
15
|
+
body: unknown;
|
16
|
+
};
|
17
|
+
error: {
|
18
|
+
message: string;
|
19
|
+
code: string | undefined;
|
20
|
+
};
|
21
|
+
};
|
22
|
+
get response(): {
|
23
|
+
status: number;
|
24
|
+
body: unknown;
|
25
|
+
};
|
26
|
+
get request(): {
|
27
|
+
body: unknown;
|
28
|
+
};
|
29
|
+
get error(): {
|
30
|
+
message: string;
|
31
|
+
code: string | undefined;
|
32
|
+
};
|
33
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.HttpError = void 0;
|
4
|
+
class HttpError extends Error {
|
5
|
+
constructor(requestBody, err) {
|
6
|
+
var _a, _b;
|
7
|
+
const message = err === null || err === void 0 ? void 0 : err.message;
|
8
|
+
const code = err === null || err === void 0 ? void 0 : err.code;
|
9
|
+
const status = ((_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.status) || 500;
|
10
|
+
const responseBody = (_b = err === null || err === void 0 ? void 0 : err.response) === null || _b === void 0 ? void 0 : _b.data;
|
11
|
+
super(JSON.stringify({
|
12
|
+
response: {
|
13
|
+
status: status,
|
14
|
+
body: responseBody,
|
15
|
+
},
|
16
|
+
request: {
|
17
|
+
body: requestBody,
|
18
|
+
},
|
19
|
+
error: {
|
20
|
+
message: message,
|
21
|
+
code: code,
|
22
|
+
},
|
23
|
+
}));
|
24
|
+
this.requestBody = requestBody;
|
25
|
+
this.errorString = message;
|
26
|
+
this.errorCode = code;
|
27
|
+
this.status = status;
|
28
|
+
this.responseBody = responseBody;
|
29
|
+
}
|
30
|
+
errorMessage() {
|
31
|
+
return {
|
32
|
+
response: this.response,
|
33
|
+
request: this.request,
|
34
|
+
error: this.error,
|
35
|
+
};
|
36
|
+
}
|
37
|
+
get response() {
|
38
|
+
return {
|
39
|
+
status: this.status,
|
40
|
+
body: this.responseBody,
|
41
|
+
};
|
42
|
+
}
|
43
|
+
get request() {
|
44
|
+
return {
|
45
|
+
body: this.requestBody,
|
46
|
+
};
|
47
|
+
}
|
48
|
+
get error() {
|
49
|
+
return {
|
50
|
+
message: this.errorString,
|
51
|
+
code: this.errorCode,
|
52
|
+
};
|
53
|
+
}
|
54
|
+
}
|
55
|
+
exports.HttpError = HttpError;
|
56
|
+
//# sourceMappingURL=http-error.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http-error.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/http-error.ts"],"names":[],"mappings":";;;AAEA,MAAa,SAAU,SAAQ,KAAK;IAMlC,YAA6B,WAAoB,EAAE,GAAe;;QAChE,MAAM,OAAO,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC;QAC7B,MAAM,IAAI,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,CAAA,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,0CAAE,MAAM,KAAI,GAAG,CAAC;QAC5C,MAAM,YAAY,GAAG,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,0CAAE,IAAI,CAAC;QAEzC,KAAK,CACH,IAAI,CAAC,SAAS,CAAC;YACb,QAAQ,EAAE;gBACR,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,YAAY;aACnB;YACD,OAAO,EAAE;gBACP,IAAI,EAAE,WAAW;aAClB;YACD,KAAK,EAAE;gBACL,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,IAAI;aACX;SACF,CAAC,CACH,CAAC;QApByB,gBAAW,GAAX,WAAW,CAAS;QAsB/C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAEM,YAAY;QACjB,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ;QACV,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,YAAY;SACxB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,WAAW;SACvB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK;QACP,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,IAAI,EAAE,IAAI,CAAC,SAAS;SACrB,CAAC;IACJ,CAAC;CACF;AA7DD,8BA6DC"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.HttpHeader = void 0;
|
4
|
+
var HttpHeader;
|
5
|
+
(function (HttpHeader) {
|
6
|
+
HttpHeader["AUTHORIZATION"] = "Authorization";
|
7
|
+
HttpHeader["ACCEPT"] = "Accept";
|
8
|
+
HttpHeader["API_KEY"] = "Api-Key";
|
9
|
+
HttpHeader["CONTENT_TYPE"] = "Content-Type";
|
10
|
+
})(HttpHeader || (exports.HttpHeader = HttpHeader = {}));
|
11
|
+
//# sourceMappingURL=http-header.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http-header.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/http-header.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,6CAA+B,CAAA;IAC/B,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IACnB,2CAA6B,CAAA;AAC/B,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export type HttpHeaders = Record<string, string | string[] | undefined>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http-headers.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/http-headers.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
export type HttpMessageBody = any;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http-message-body.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/http-message-body.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.HttpMethod = void 0;
|
4
|
+
var HttpMethod;
|
5
|
+
(function (HttpMethod) {
|
6
|
+
HttpMethod["GET"] = "GET";
|
7
|
+
HttpMethod["POST"] = "POST";
|
8
|
+
HttpMethod["PATCH"] = "PATCH";
|
9
|
+
HttpMethod["PUT"] = "PUT";
|
10
|
+
HttpMethod["DELETE"] = "DELETE";
|
11
|
+
HttpMethod["HEAD"] = "HEAD";
|
12
|
+
})(HttpMethod || (exports.HttpMethod = HttpMethod = {}));
|
13
|
+
//# sourceMappingURL=http-method.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http-method.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/http-method.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,2BAAa,CAAA;IACb,6BAAe,CAAA;IACf,yBAAW,CAAA;IACX,+BAAiB,CAAA;IACjB,2BAAa,CAAA;AACf,CAAC,EAPW,UAAU,0BAAV,UAAU,QAOrB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http-request-body.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/http-request-body.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import type { HttpMethod } from './http-method';
|
2
|
+
import type { QueryParams } from './query-params';
|
3
|
+
import { HttpHeaders } from './http-headers';
|
4
|
+
import { Authentication } from '../../authentication';
|
5
|
+
import { HttpRequestBody } from './http-request-body';
|
6
|
+
export type HttpRequest<RequestBody extends HttpRequestBody = any> = {
|
7
|
+
method: HttpMethod;
|
8
|
+
url: string;
|
9
|
+
body?: RequestBody | undefined;
|
10
|
+
headers?: HttpHeaders;
|
11
|
+
authentication?: Authentication | undefined;
|
12
|
+
queryParams?: QueryParams | undefined;
|
13
|
+
timeout?: number;
|
14
|
+
retries?: number;
|
15
|
+
responseType?: 'arraybuffer' | 'json' | 'blob' | 'text';
|
16
|
+
rejectUnauthorized?: boolean;
|
17
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http-request.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/http-request.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"http-response.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/http-response.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,9 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.MediaType = void 0;
|
4
|
+
var MediaType;
|
5
|
+
(function (MediaType) {
|
6
|
+
MediaType["APPLICATION_JSON"] = "application/json";
|
7
|
+
MediaType["TEXT_CSV"] = "text/csv";
|
8
|
+
})(MediaType || (exports.MediaType = MediaType = {}));
|
9
|
+
//# sourceMappingURL=media-type.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"media-type.js","sourceRoot":"","sources":["../../../../../../../../../packages/pieces/community/common/src/lib/http/core/media-type.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,kDAAqC,CAAA;IACrC,kCAAqB,CAAA;AACvB,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export type QueryParams = Record<string, string>;
|