@apideck/unify 0.38.0 → 0.38.2

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.
Files changed (118) hide show
  1. package/README.md +30 -10
  2. package/examples/package-lock.json +1 -1
  3. package/funcs/proxyDelete.d.ts +30 -0
  4. package/funcs/proxyDelete.d.ts.map +1 -0
  5. package/funcs/proxyDelete.js +175 -0
  6. package/funcs/proxyDelete.js.map +1 -0
  7. package/funcs/proxyGet.d.ts +30 -0
  8. package/funcs/proxyGet.d.ts.map +1 -0
  9. package/funcs/proxyGet.js +175 -0
  10. package/funcs/proxyGet.js.map +1 -0
  11. package/funcs/proxyOptions.d.ts +30 -0
  12. package/funcs/proxyOptions.d.ts.map +1 -0
  13. package/funcs/proxyOptions.js +175 -0
  14. package/funcs/proxyOptions.js.map +1 -0
  15. package/funcs/proxyPatch.d.ts +30 -0
  16. package/funcs/proxyPatch.d.ts.map +1 -0
  17. package/funcs/proxyPatch.js +176 -0
  18. package/funcs/proxyPatch.js.map +1 -0
  19. package/funcs/proxyPost.d.ts +30 -0
  20. package/funcs/proxyPost.d.ts.map +1 -0
  21. package/funcs/proxyPost.js +176 -0
  22. package/funcs/proxyPost.js.map +1 -0
  23. package/funcs/proxyPut.d.ts +30 -0
  24. package/funcs/proxyPut.d.ts.map +1 -0
  25. package/funcs/proxyPut.js +176 -0
  26. package/funcs/proxyPut.js.map +1 -0
  27. package/jsr.json +1 -1
  28. package/lib/config.d.ts +4 -4
  29. package/lib/config.js +4 -4
  30. package/models/components/companiesfilter.d.ts +4 -0
  31. package/models/components/companiesfilter.d.ts.map +1 -1
  32. package/models/components/companiesfilter.js +8 -0
  33. package/models/components/companiesfilter.js.map +1 -1
  34. package/models/components/contactsfilter.d.ts +4 -0
  35. package/models/components/contactsfilter.d.ts.map +1 -1
  36. package/models/components/contactsfilter.js +4 -0
  37. package/models/components/contactsfilter.js.map +1 -1
  38. package/models/components/ecommercecustomersfilter.d.ts +10 -0
  39. package/models/components/ecommercecustomersfilter.d.ts.map +1 -1
  40. package/models/components/ecommercecustomersfilter.js +4 -0
  41. package/models/components/ecommercecustomersfilter.js.map +1 -1
  42. package/models/components/employee.d.ts +1 -0
  43. package/models/components/employee.d.ts.map +1 -1
  44. package/models/components/employee.js +1 -0
  45. package/models/components/employee.js.map +1 -1
  46. package/models/components/invoiceitemsfilter.d.ts +2 -0
  47. package/models/components/invoiceitemsfilter.d.ts.map +1 -1
  48. package/models/components/invoiceitemsfilter.js +2 -0
  49. package/models/components/invoiceitemsfilter.js.map +1 -1
  50. package/models/errors/index.d.ts +1 -0
  51. package/models/errors/index.d.ts.map +1 -1
  52. package/models/errors/index.js +1 -0
  53. package/models/errors/index.js.map +1 -1
  54. package/models/errors/unauthorized.d.ts +142 -0
  55. package/models/errors/unauthorized.d.ts.map +1 -0
  56. package/models/errors/unauthorized.js +139 -0
  57. package/models/errors/unauthorized.js.map +1 -0
  58. package/models/operations/index.d.ts +6 -0
  59. package/models/operations/index.d.ts.map +1 -1
  60. package/models/operations/index.js +6 -0
  61. package/models/operations/index.js.map +1 -1
  62. package/models/operations/proxydeleteproxy.d.ts +103 -0
  63. package/models/operations/proxydeleteproxy.d.ts.map +1 -0
  64. package/models/operations/proxydeleteproxy.js +80 -0
  65. package/models/operations/proxydeleteproxy.js.map +1 -0
  66. package/models/operations/proxygetproxy.d.ts +103 -0
  67. package/models/operations/proxygetproxy.d.ts.map +1 -0
  68. package/models/operations/proxygetproxy.js +80 -0
  69. package/models/operations/proxygetproxy.js.map +1 -0
  70. package/models/operations/proxyoptionsproxy.d.ts +103 -0
  71. package/models/operations/proxyoptionsproxy.d.ts.map +1 -0
  72. package/models/operations/proxyoptionsproxy.js +80 -0
  73. package/models/operations/proxyoptionsproxy.js.map +1 -0
  74. package/models/operations/proxypatchproxy.d.ts +120 -0
  75. package/models/operations/proxypatchproxy.d.ts.map +1 -0
  76. package/models/operations/proxypatchproxy.js +102 -0
  77. package/models/operations/proxypatchproxy.js.map +1 -0
  78. package/models/operations/proxypostproxy.d.ts +120 -0
  79. package/models/operations/proxypostproxy.d.ts.map +1 -0
  80. package/models/operations/proxypostproxy.js +103 -0
  81. package/models/operations/proxypostproxy.js.map +1 -0
  82. package/models/operations/proxyputproxy.d.ts +120 -0
  83. package/models/operations/proxyputproxy.d.ts.map +1 -0
  84. package/models/operations/proxyputproxy.js +102 -0
  85. package/models/operations/proxyputproxy.js.map +1 -0
  86. package/package.json +1 -1
  87. package/sdk/proxy.d.ts +77 -0
  88. package/sdk/proxy.d.ts.map +1 -0
  89. package/sdk/proxy.js +90 -0
  90. package/sdk/proxy.js.map +1 -0
  91. package/sdk/sdk.d.ts +3 -0
  92. package/sdk/sdk.d.ts.map +1 -1
  93. package/sdk/sdk.js +4 -0
  94. package/sdk/sdk.js.map +1 -1
  95. package/src/__tests__/proxy.test.ts +41 -0
  96. package/src/funcs/proxyDelete.ts +258 -0
  97. package/src/funcs/proxyGet.ts +258 -0
  98. package/src/funcs/proxyOptions.ts +258 -0
  99. package/src/funcs/proxyPatch.ts +259 -0
  100. package/src/funcs/proxyPost.ts +259 -0
  101. package/src/funcs/proxyPut.ts +259 -0
  102. package/src/lib/config.ts +4 -4
  103. package/src/models/components/companiesfilter.ts +12 -0
  104. package/src/models/components/contactsfilter.ts +8 -0
  105. package/src/models/components/ecommercecustomersfilter.ts +14 -0
  106. package/src/models/components/employee.ts +1 -0
  107. package/src/models/components/invoiceitemsfilter.ts +4 -0
  108. package/src/models/errors/index.ts +1 -0
  109. package/src/models/errors/unauthorized.ts +282 -0
  110. package/src/models/operations/index.ts +6 -0
  111. package/src/models/operations/proxydeleteproxy.ts +158 -0
  112. package/src/models/operations/proxygetproxy.ts +158 -0
  113. package/src/models/operations/proxyoptionsproxy.ts +158 -0
  114. package/src/models/operations/proxypatchproxy.ts +227 -0
  115. package/src/models/operations/proxypostproxy.ts +212 -0
  116. package/src/models/operations/proxyputproxy.ts +215 -0
  117. package/src/sdk/proxy.ts +135 -0
  118. package/src/sdk/sdk.ts +6 -0
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ /*
3
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.OptionsAcceptEnum = void 0;
40
+ exports.proxyOptions = proxyOptions;
41
+ const encodings_js_1 = require("../lib/encodings.js");
42
+ const M = __importStar(require("../lib/matchers.js"));
43
+ const primitives_js_1 = require("../lib/primitives.js");
44
+ const schemas_js_1 = require("../lib/schemas.js");
45
+ const security_js_1 = require("../lib/security.js");
46
+ const url_js_1 = require("../lib/url.js");
47
+ const errors = __importStar(require("../models/errors/index.js"));
48
+ const operations = __importStar(require("../models/operations/index.js"));
49
+ const async_js_1 = require("../types/async.js");
50
+ var OptionsAcceptEnum;
51
+ (function (OptionsAcceptEnum) {
52
+ OptionsAcceptEnum["applicationJson"] = "application/json";
53
+ OptionsAcceptEnum["textCsv"] = "text/csv";
54
+ OptionsAcceptEnum["textPlain"] = "text/plain";
55
+ OptionsAcceptEnum["applicationOctetStream"] = "application/octet-stream";
56
+ OptionsAcceptEnum["applicationPdf"] = "application/pdf";
57
+ OptionsAcceptEnum["applicationXml"] = "application/xml";
58
+ OptionsAcceptEnum["textHtml"] = "text/html";
59
+ })(OptionsAcceptEnum || (exports.OptionsAcceptEnum = OptionsAcceptEnum = {}));
60
+ /**
61
+ * OPTIONS
62
+ *
63
+ * @remarks
64
+ * Proxies a downstream OPTION request to a service and injects the necessary credentials into a request stored in Vault. This allows you to have an additional security layer and logging without needing to rely on Unify for normalization.
65
+ * **Note**: Vault will proxy all data to the downstream URL and method/verb in the headers.
66
+ */
67
+ function proxyOptions(client, request, options) {
68
+ return new async_js_1.APIPromise($do(client, request, options));
69
+ }
70
+ async function $do(client, request, options) {
71
+ const parsed = (0, schemas_js_1.safeParse)(request, (value) => operations.ProxyOptionsProxyRequest$outboundSchema.parse(value), "Input validation failed");
72
+ if (!parsed.ok) {
73
+ return [parsed, { status: "invalid" }];
74
+ }
75
+ const payload = parsed.value;
76
+ const body = null;
77
+ const path = (0, url_js_1.pathToFunc)("/proxy")();
78
+ const headers = new Headers((0, primitives_js_1.compactMap)({
79
+ Accept: options?.acceptHeaderOverride
80
+ || "application/json;q=1, text/csv;q=0.9, text/plain;q=0.7, application/octet-stream;q=0.6, application/pdf;q=0.4, application/xml;q=0.3, text/html;q=0",
81
+ "x-apideck-app-id": (0, encodings_js_1.encodeSimple)("x-apideck-app-id", payload.appId ?? client._options.appId, { explode: false, charEncoding: "none" }),
82
+ "x-apideck-consumer-id": (0, encodings_js_1.encodeSimple)("x-apideck-consumer-id", payload.consumerId ?? client._options.consumerId, { explode: false, charEncoding: "none" }),
83
+ "x-apideck-downstream-authorization": (0, encodings_js_1.encodeSimple)("x-apideck-downstream-authorization", payload.downstreamAuthorization, { explode: false, charEncoding: "none" }),
84
+ "x-apideck-downstream-url": (0, encodings_js_1.encodeSimple)("x-apideck-downstream-url", payload.downstreamUrl, { explode: false, charEncoding: "none" }),
85
+ "x-apideck-service-id": (0, encodings_js_1.encodeSimple)("x-apideck-service-id", payload.serviceId, { explode: false, charEncoding: "none" }),
86
+ "x-apideck-unified-api": (0, encodings_js_1.encodeSimple)("x-apideck-unified-api", payload.unifiedApi, { explode: false, charEncoding: "none" }),
87
+ }));
88
+ const secConfig = await (0, security_js_1.extractSecurity)(client._options.apiKey);
89
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
90
+ const requestSecurity = (0, security_js_1.resolveGlobalSecurity)(securityInput);
91
+ const context = {
92
+ options: client._options,
93
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
94
+ operationID: "proxy.optionsProxy",
95
+ oAuth2Scopes: null,
96
+ resolvedSecurity: requestSecurity,
97
+ securitySource: client._options.apiKey,
98
+ retryConfig: options?.retries
99
+ || client._options.retryConfig
100
+ || {
101
+ strategy: "backoff",
102
+ backoff: {
103
+ initialInterval: 500,
104
+ maxInterval: 60000,
105
+ exponent: 1.5,
106
+ maxElapsedTime: 900000,
107
+ },
108
+ retryConnectionErrors: true,
109
+ }
110
+ || { strategy: "none" },
111
+ retryCodes: options?.retryCodes || ["408", "500", "502", "503", "504"],
112
+ };
113
+ const requestRes = client._createRequest(context, {
114
+ security: requestSecurity,
115
+ method: "OPTIONS",
116
+ baseURL: options?.serverURL,
117
+ path: path,
118
+ headers: headers,
119
+ body: body,
120
+ userAgent: client._options.userAgent,
121
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
122
+ }, options);
123
+ if (!requestRes.ok) {
124
+ return [requestRes, { status: "invalid" }];
125
+ }
126
+ const req = requestRes.value;
127
+ const doResult = await client._do(req, {
128
+ context,
129
+ errorCodes: ["401", "4XX", "5XX"],
130
+ retryConfig: context.retryConfig,
131
+ retryCodes: context.retryCodes,
132
+ });
133
+ if (!doResult.ok) {
134
+ return [doResult, { status: "request-error", request: req }];
135
+ }
136
+ const response = doResult.value;
137
+ const responseFields = {
138
+ HttpMeta: { Response: response, Request: req },
139
+ };
140
+ const [result] = await M.match(M.json(200, operations.ProxyOptionsProxyResponse$inboundSchema, {
141
+ key: "responseJson",
142
+ }), M.stream(200, operations.ProxyOptionsProxyResponse$inboundSchema, {
143
+ key: "responseBinary",
144
+ }), M.stream(200, operations.ProxyOptionsProxyResponse$inboundSchema, {
145
+ ctype: "application/pdf",
146
+ key: "responsePdf",
147
+ }), M.text(200, operations.ProxyOptionsProxyResponse$inboundSchema, {
148
+ ctype: "application/xml",
149
+ key: "responseXml",
150
+ }), M.text(200, operations.ProxyOptionsProxyResponse$inboundSchema, {
151
+ ctype: "text/csv",
152
+ key: "responseCsv",
153
+ }), M.text(200, operations.ProxyOptionsProxyResponse$inboundSchema, {
154
+ key: "responseText",
155
+ }), M.jsonErr(401, errors.Unauthorized$inboundSchema), M.fail("4XX"), M.fail("5XX"), M.json("default", operations.ProxyOptionsProxyResponse$inboundSchema, {
156
+ hdrs: true,
157
+ key: "errorJson",
158
+ }), M.text("default", operations.ProxyOptionsProxyResponse$inboundSchema, {
159
+ ctype: "application/xml",
160
+ hdrs: true,
161
+ key: "errorXml",
162
+ }), M.text("default", operations.ProxyOptionsProxyResponse$inboundSchema, {
163
+ ctype: "text/html",
164
+ hdrs: true,
165
+ key: "errorHtml",
166
+ }), M.text("default", operations.ProxyOptionsProxyResponse$inboundSchema, {
167
+ hdrs: true,
168
+ key: "errorText",
169
+ }))(response, req, { extraFields: responseFields });
170
+ if (!result.ok) {
171
+ return [result, { status: "complete", request: req, response }];
172
+ }
173
+ return [result, { status: "complete", request: req, response }];
174
+ }
175
+ //# sourceMappingURL=proxyOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyOptions.js","sourceRoot":"","sources":["../src/funcs/proxyOptions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { ApideckCore } from "../core.js";
2
+ import { RequestOptions } from "../lib/sdks.js";
3
+ import { ApideckError } from "../models/errors/apideckerror.js";
4
+ import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
5
+ import * as errors from "../models/errors/index.js";
6
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
7
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
8
+ import * as operations from "../models/operations/index.js";
9
+ import { APIPromise } from "../types/async.js";
10
+ import { Result } from "../types/fp.js";
11
+ export declare enum PatchAcceptEnum {
12
+ applicationJson = "application/json",
13
+ textCsv = "text/csv",
14
+ textPlain = "text/plain",
15
+ applicationOctetStream = "application/octet-stream",
16
+ applicationPdf = "application/pdf",
17
+ applicationXml = "application/xml",
18
+ textHtml = "text/html"
19
+ }
20
+ /**
21
+ * PATCH
22
+ *
23
+ * @remarks
24
+ * Proxies a downstream PATCH request to a service and injects the necessary credentials into a request stored in Vault. This allows you to have an additional security layer and logging without needing to rely on Unify for normalization.
25
+ * **Note**: Vault will proxy all data to the downstream URL and method/verb in the headers.
26
+ */
27
+ export declare function proxyPatch(client: ApideckCore, request: operations.ProxyPatchProxyRequest, options?: RequestOptions & {
28
+ acceptHeaderOverride?: PatchAcceptEnum;
29
+ }): APIPromise<Result<operations.ProxyPatchProxyResponse, errors.Unauthorized | ApideckError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
30
+ //# sourceMappingURL=proxyPatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyPatch.d.ts","sourceRoot":"","sources":["../src/funcs/proxyPatch.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKzC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAW,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,oBAAY,eAAe;IACzB,eAAe,qBAAqB;IACpC,OAAO,aAAa;IACpB,SAAS,eAAe;IACxB,sBAAsB,6BAA6B;IACnD,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,QAAQ,cAAc;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,UAAU,CAAC,sBAAsB,EAC1C,OAAO,CAAC,EAAE,cAAc,GAAG;IAAE,oBAAoB,CAAC,EAAE,eAAe,CAAA;CAAE,GACpE,UAAU,CACX,MAAM,CACJ,UAAU,CAAC,uBAAuB,EAChC,MAAM,CAAC,YAAY,GACnB,YAAY,GACZ,uBAAuB,GACvB,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,kBAAkB,CACrB,CACF,CAMA"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ /*
3
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.PatchAcceptEnum = void 0;
40
+ exports.proxyPatch = proxyPatch;
41
+ const encodings_js_1 = require("../lib/encodings.js");
42
+ const M = __importStar(require("../lib/matchers.js"));
43
+ const primitives_js_1 = require("../lib/primitives.js");
44
+ const schemas_js_1 = require("../lib/schemas.js");
45
+ const security_js_1 = require("../lib/security.js");
46
+ const url_js_1 = require("../lib/url.js");
47
+ const errors = __importStar(require("../models/errors/index.js"));
48
+ const operations = __importStar(require("../models/operations/index.js"));
49
+ const async_js_1 = require("../types/async.js");
50
+ var PatchAcceptEnum;
51
+ (function (PatchAcceptEnum) {
52
+ PatchAcceptEnum["applicationJson"] = "application/json";
53
+ PatchAcceptEnum["textCsv"] = "text/csv";
54
+ PatchAcceptEnum["textPlain"] = "text/plain";
55
+ PatchAcceptEnum["applicationOctetStream"] = "application/octet-stream";
56
+ PatchAcceptEnum["applicationPdf"] = "application/pdf";
57
+ PatchAcceptEnum["applicationXml"] = "application/xml";
58
+ PatchAcceptEnum["textHtml"] = "text/html";
59
+ })(PatchAcceptEnum || (exports.PatchAcceptEnum = PatchAcceptEnum = {}));
60
+ /**
61
+ * PATCH
62
+ *
63
+ * @remarks
64
+ * Proxies a downstream PATCH request to a service and injects the necessary credentials into a request stored in Vault. This allows you to have an additional security layer and logging without needing to rely on Unify for normalization.
65
+ * **Note**: Vault will proxy all data to the downstream URL and method/verb in the headers.
66
+ */
67
+ function proxyPatch(client, request, options) {
68
+ return new async_js_1.APIPromise($do(client, request, options));
69
+ }
70
+ async function $do(client, request, options) {
71
+ const parsed = (0, schemas_js_1.safeParse)(request, (value) => operations.ProxyPatchProxyRequest$outboundSchema.parse(value), "Input validation failed");
72
+ if (!parsed.ok) {
73
+ return [parsed, { status: "invalid" }];
74
+ }
75
+ const payload = parsed.value;
76
+ const body = payload.RequestBody;
77
+ const path = (0, url_js_1.pathToFunc)("/proxy")();
78
+ const headers = new Headers((0, primitives_js_1.compactMap)({
79
+ "Content-Type": body instanceof Blob && body.type ? body.type : undefined,
80
+ Accept: options?.acceptHeaderOverride
81
+ || "application/json;q=1, text/csv;q=0.9, text/plain;q=0.7, application/octet-stream;q=0.6, application/pdf;q=0.4, application/xml;q=0.3, text/html;q=0",
82
+ "x-apideck-app-id": (0, encodings_js_1.encodeSimple)("x-apideck-app-id", payload.appId ?? client._options.appId, { explode: false, charEncoding: "none" }),
83
+ "x-apideck-consumer-id": (0, encodings_js_1.encodeSimple)("x-apideck-consumer-id", payload.consumerId ?? client._options.consumerId, { explode: false, charEncoding: "none" }),
84
+ "x-apideck-downstream-authorization": (0, encodings_js_1.encodeSimple)("x-apideck-downstream-authorization", payload.downstreamAuthorization, { explode: false, charEncoding: "none" }),
85
+ "x-apideck-downstream-url": (0, encodings_js_1.encodeSimple)("x-apideck-downstream-url", payload.downstreamUrl, { explode: false, charEncoding: "none" }),
86
+ "x-apideck-service-id": (0, encodings_js_1.encodeSimple)("x-apideck-service-id", payload.serviceId, { explode: false, charEncoding: "none" }),
87
+ "x-apideck-unified-api": (0, encodings_js_1.encodeSimple)("x-apideck-unified-api", payload.unifiedApi, { explode: false, charEncoding: "none" }),
88
+ }));
89
+ const secConfig = await (0, security_js_1.extractSecurity)(client._options.apiKey);
90
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
91
+ const requestSecurity = (0, security_js_1.resolveGlobalSecurity)(securityInput);
92
+ const context = {
93
+ options: client._options,
94
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
95
+ operationID: "proxy.patchProxy",
96
+ oAuth2Scopes: null,
97
+ resolvedSecurity: requestSecurity,
98
+ securitySource: client._options.apiKey,
99
+ retryConfig: options?.retries
100
+ || client._options.retryConfig
101
+ || {
102
+ strategy: "backoff",
103
+ backoff: {
104
+ initialInterval: 500,
105
+ maxInterval: 60000,
106
+ exponent: 1.5,
107
+ maxElapsedTime: 900000,
108
+ },
109
+ retryConnectionErrors: true,
110
+ }
111
+ || { strategy: "none" },
112
+ retryCodes: options?.retryCodes || ["408", "500", "502", "503", "504"],
113
+ };
114
+ const requestRes = client._createRequest(context, {
115
+ security: requestSecurity,
116
+ method: "PATCH",
117
+ baseURL: options?.serverURL,
118
+ path: path,
119
+ headers: headers,
120
+ body: body,
121
+ userAgent: client._options.userAgent,
122
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
123
+ }, options);
124
+ if (!requestRes.ok) {
125
+ return [requestRes, { status: "invalid" }];
126
+ }
127
+ const req = requestRes.value;
128
+ const doResult = await client._do(req, {
129
+ context,
130
+ errorCodes: ["401", "4XX", "5XX"],
131
+ retryConfig: context.retryConfig,
132
+ retryCodes: context.retryCodes,
133
+ });
134
+ if (!doResult.ok) {
135
+ return [doResult, { status: "request-error", request: req }];
136
+ }
137
+ const response = doResult.value;
138
+ const responseFields = {
139
+ HttpMeta: { Response: response, Request: req },
140
+ };
141
+ const [result] = await M.match(M.json(200, operations.ProxyPatchProxyResponse$inboundSchema, {
142
+ key: "responseJson",
143
+ }), M.stream(200, operations.ProxyPatchProxyResponse$inboundSchema, {
144
+ key: "responseBinary",
145
+ }), M.stream(200, operations.ProxyPatchProxyResponse$inboundSchema, {
146
+ ctype: "application/pdf",
147
+ key: "responsePdf",
148
+ }), M.text(200, operations.ProxyPatchProxyResponse$inboundSchema, {
149
+ ctype: "application/xml",
150
+ key: "responseXml",
151
+ }), M.text(200, operations.ProxyPatchProxyResponse$inboundSchema, {
152
+ ctype: "text/csv",
153
+ key: "responseCsv",
154
+ }), M.text(200, operations.ProxyPatchProxyResponse$inboundSchema, {
155
+ key: "responseText",
156
+ }), M.jsonErr(401, errors.Unauthorized$inboundSchema), M.fail("4XX"), M.fail("5XX"), M.json("default", operations.ProxyPatchProxyResponse$inboundSchema, {
157
+ hdrs: true,
158
+ key: "errorJson",
159
+ }), M.text("default", operations.ProxyPatchProxyResponse$inboundSchema, {
160
+ ctype: "application/xml",
161
+ hdrs: true,
162
+ key: "errorXml",
163
+ }), M.text("default", operations.ProxyPatchProxyResponse$inboundSchema, {
164
+ ctype: "text/html",
165
+ hdrs: true,
166
+ key: "errorHtml",
167
+ }), M.text("default", operations.ProxyPatchProxyResponse$inboundSchema, {
168
+ hdrs: true,
169
+ key: "errorText",
170
+ }))(response, req, { extraFields: responseFields });
171
+ if (!result.ok) {
172
+ return [result, { status: "complete", request: req, response }];
173
+ }
174
+ return [result, { status: "complete", request: req, response }];
175
+ }
176
+ //# sourceMappingURL=proxyPatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyPatch.js","sourceRoot":"","sources":["../src/funcs/proxyPatch.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CH,gCAuBC;AA9DD,sDAAmD;AACnD,sDAAwC;AACxC,wDAAkD;AAClD,kDAA8C;AAE9C,oDAA4E;AAC5E,0CAA2C;AAS3C,kEAAoD;AAGpD,0EAA4D;AAC5D,gDAAwD;AAGxD,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,uDAAoC,CAAA;IACpC,uCAAoB,CAAA;IACpB,2CAAwB,CAAA;IACxB,sEAAmD,CAAA;IACnD,qDAAkC,CAAA;IAClC,qDAAkC,CAAA;IAClC,yCAAsB,CAAA;AACxB,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CACxB,MAAmB,EACnB,OAA0C,EAC1C,OAAqE;IAerE,OAAO,IAAI,qBAAU,CAAC,GAAG,CACvB,MAAM,EACN,OAAO,EACP,OAAO,CACR,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,GAAG,CAChB,MAAmB,EACnB,OAA0C,EAC1C,OAAqE;IAkBrE,MAAM,MAAM,GAAG,IAAA,sBAAS,EACtB,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,qCAAqC,CAAC,KAAK,CAAC,KAAK,CAAC,EACxE,yBAAyB,CAC1B,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IAEjC,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;IAEpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAA,0BAAU,EAAC;QACrC,cAAc,EAAE,IAAI,YAAY,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACzE,MAAM,EAAE,OAAO,EAAE,oBAAoB;eAChC,qJAAqJ;QAC1J,kBAAkB,EAAE,IAAA,2BAAY,EAC9B,kBAAkB,EAClB,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EACtC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;QACD,uBAAuB,EAAE,IAAA,2BAAY,EACnC,uBAAuB,EACvB,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,EAChD,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;QACD,oCAAoC,EAAE,IAAA,2BAAY,EAChD,oCAAoC,EACpC,OAAO,CAAC,uBAAuB,EAC/B,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;QACD,0BAA0B,EAAE,IAAA,2BAAY,EACtC,0BAA0B,EAC1B,OAAO,CAAC,aAAa,EACrB,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;QACD,sBAAsB,EAAE,IAAA,2BAAY,EAClC,sBAAsB,EACtB,OAAO,CAAC,SAAS,EACjB,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;QACD,uBAAuB,EAAE,IAAA,2BAAY,EACnC,uBAAuB,EACvB,OAAO,CAAC,UAAU,EAClB,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,SAAS,GAAG,MAAM,IAAA,6BAAe,EAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACrE,MAAM,eAAe,GAAG,IAAA,mCAAqB,EAAC,aAAa,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,MAAM,CAAC,QAAQ;QACxB,OAAO,EAAE,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE;QACpD,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,IAAI;QAElB,gBAAgB,EAAE,eAAe;QAEjC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QACtC,WAAW,EAAE,OAAO,EAAE,OAAO;eACxB,MAAM,CAAC,QAAQ,CAAC,WAAW;eAC3B;gBACD,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE;oBACP,eAAe,EAAE,GAAG;oBACpB,WAAW,EAAE,KAAK;oBAClB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,MAAM;iBACvB;gBACD,qBAAqB,EAAE,IAAI;aAC5B;eACE,EAAE,QAAQ,EAAE,MAAM,EAAE;QACzB,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;KACvE,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE;QAChD,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,OAAO;QACf,OAAO,EAAE,OAAO,EAAE,SAAS;QAC3B,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;QACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;KACjE,EAAE,OAAO,CAAC,CAAC;IACZ,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,OAAO,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC;IAE7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;QACrC,OAAO;QACP,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QACjC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEhC,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/C,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAY5B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,qCAAqC,EAAE;QAC5D,GAAG,EAAE,cAAc;KACpB,CAAC,EACF,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,qCAAqC,EAAE;QAC9D,GAAG,EAAE,gBAAgB;KACtB,CAAC,EACF,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,qCAAqC,EAAE;QAC9D,KAAK,EAAE,iBAAiB;QACxB,GAAG,EAAE,aAAa;KACnB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,qCAAqC,EAAE;QAC5D,KAAK,EAAE,iBAAiB;QACxB,GAAG,EAAE,aAAa;KACnB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,qCAAqC,EAAE;QAC5D,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,aAAa;KACnB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,qCAAqC,EAAE;QAC5D,GAAG,EAAE,cAAc;KACpB,CAAC,EACF,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,0BAA0B,CAAC,EACjD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EACb,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EACb,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,qCAAqC,EAAE;QAClE,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,WAAW;KACjB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,qCAAqC,EAAE;QAClE,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,UAAU;KAChB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,qCAAqC,EAAE;QAClE,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,WAAW;KACjB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,qCAAqC,EAAE;QAClE,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,WAAW;KACjB,CAAC,CACH,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { ApideckCore } from "../core.js";
2
+ import { RequestOptions } from "../lib/sdks.js";
3
+ import { ApideckError } from "../models/errors/apideckerror.js";
4
+ import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../models/errors/httpclienterrors.js";
5
+ import * as errors from "../models/errors/index.js";
6
+ import { ResponseValidationError } from "../models/errors/responsevalidationerror.js";
7
+ import { SDKValidationError } from "../models/errors/sdkvalidationerror.js";
8
+ import * as operations from "../models/operations/index.js";
9
+ import { APIPromise } from "../types/async.js";
10
+ import { Result } from "../types/fp.js";
11
+ export declare enum PostAcceptEnum {
12
+ applicationJson = "application/json",
13
+ textCsv = "text/csv",
14
+ textPlain = "text/plain",
15
+ applicationOctetStream = "application/octet-stream",
16
+ applicationPdf = "application/pdf",
17
+ applicationXml = "application/xml",
18
+ textHtml = "text/html"
19
+ }
20
+ /**
21
+ * POST
22
+ *
23
+ * @remarks
24
+ * Proxies a downstream POST request to a service and injects the necessary credentials into a request stored in Vault. This allows you to have an additional security layer and logging without needing to rely on Unify for normalization.
25
+ * **Note**: Vault will proxy all data to the downstream URL and method/verb in the headers.
26
+ */
27
+ export declare function proxyPost(client: ApideckCore, request: operations.ProxyPostProxyRequest, options?: RequestOptions & {
28
+ acceptHeaderOverride?: PostAcceptEnum;
29
+ }): APIPromise<Result<operations.ProxyPostProxyResponse, errors.Unauthorized | ApideckError | ResponseValidationError | ConnectionError | RequestAbortedError | RequestTimeoutError | InvalidRequestError | UnexpectedClientError | SDKValidationError>>;
30
+ //# sourceMappingURL=proxyPost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyPost.d.ts","sourceRoot":"","sources":["../src/funcs/proxyPost.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKzC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,EAAW,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC,oBAAY,cAAc;IACxB,eAAe,qBAAqB;IACpC,OAAO,aAAa;IACpB,SAAS,eAAe;IACxB,sBAAsB,6BAA6B;IACnD,cAAc,oBAAoB;IAClC,cAAc,oBAAoB;IAClC,QAAQ,cAAc;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,UAAU,CAAC,qBAAqB,EACzC,OAAO,CAAC,EAAE,cAAc,GAAG;IAAE,oBAAoB,CAAC,EAAE,cAAc,CAAA;CAAE,GACnE,UAAU,CACX,MAAM,CACJ,UAAU,CAAC,sBAAsB,EAC/B,MAAM,CAAC,YAAY,GACnB,YAAY,GACZ,uBAAuB,GACvB,eAAe,GACf,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,qBAAqB,GACrB,kBAAkB,CACrB,CACF,CAMA"}
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+ /*
3
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.PostAcceptEnum = void 0;
40
+ exports.proxyPost = proxyPost;
41
+ const encodings_js_1 = require("../lib/encodings.js");
42
+ const M = __importStar(require("../lib/matchers.js"));
43
+ const primitives_js_1 = require("../lib/primitives.js");
44
+ const schemas_js_1 = require("../lib/schemas.js");
45
+ const security_js_1 = require("../lib/security.js");
46
+ const url_js_1 = require("../lib/url.js");
47
+ const errors = __importStar(require("../models/errors/index.js"));
48
+ const operations = __importStar(require("../models/operations/index.js"));
49
+ const async_js_1 = require("../types/async.js");
50
+ var PostAcceptEnum;
51
+ (function (PostAcceptEnum) {
52
+ PostAcceptEnum["applicationJson"] = "application/json";
53
+ PostAcceptEnum["textCsv"] = "text/csv";
54
+ PostAcceptEnum["textPlain"] = "text/plain";
55
+ PostAcceptEnum["applicationOctetStream"] = "application/octet-stream";
56
+ PostAcceptEnum["applicationPdf"] = "application/pdf";
57
+ PostAcceptEnum["applicationXml"] = "application/xml";
58
+ PostAcceptEnum["textHtml"] = "text/html";
59
+ })(PostAcceptEnum || (exports.PostAcceptEnum = PostAcceptEnum = {}));
60
+ /**
61
+ * POST
62
+ *
63
+ * @remarks
64
+ * Proxies a downstream POST request to a service and injects the necessary credentials into a request stored in Vault. This allows you to have an additional security layer and logging without needing to rely on Unify for normalization.
65
+ * **Note**: Vault will proxy all data to the downstream URL and method/verb in the headers.
66
+ */
67
+ function proxyPost(client, request, options) {
68
+ return new async_js_1.APIPromise($do(client, request, options));
69
+ }
70
+ async function $do(client, request, options) {
71
+ const parsed = (0, schemas_js_1.safeParse)(request, (value) => operations.ProxyPostProxyRequest$outboundSchema.parse(value), "Input validation failed");
72
+ if (!parsed.ok) {
73
+ return [parsed, { status: "invalid" }];
74
+ }
75
+ const payload = parsed.value;
76
+ const body = payload.RequestBody;
77
+ const path = (0, url_js_1.pathToFunc)("/proxy")();
78
+ const headers = new Headers((0, primitives_js_1.compactMap)({
79
+ "Content-Type": body instanceof Blob && body.type ? body.type : undefined,
80
+ Accept: options?.acceptHeaderOverride
81
+ || "application/json;q=1, text/csv;q=0.9, text/plain;q=0.7, application/octet-stream;q=0.6, application/pdf;q=0.4, application/xml;q=0.3, text/html;q=0",
82
+ "x-apideck-app-id": (0, encodings_js_1.encodeSimple)("x-apideck-app-id", payload.appId ?? client._options.appId, { explode: false, charEncoding: "none" }),
83
+ "x-apideck-consumer-id": (0, encodings_js_1.encodeSimple)("x-apideck-consumer-id", payload.consumerId ?? client._options.consumerId, { explode: false, charEncoding: "none" }),
84
+ "x-apideck-downstream-authorization": (0, encodings_js_1.encodeSimple)("x-apideck-downstream-authorization", payload.downstreamAuthorization, { explode: false, charEncoding: "none" }),
85
+ "x-apideck-downstream-url": (0, encodings_js_1.encodeSimple)("x-apideck-downstream-url", payload.downstreamUrl, { explode: false, charEncoding: "none" }),
86
+ "x-apideck-service-id": (0, encodings_js_1.encodeSimple)("x-apideck-service-id", payload.serviceId, { explode: false, charEncoding: "none" }),
87
+ "x-apideck-unified-api": (0, encodings_js_1.encodeSimple)("x-apideck-unified-api", payload.unifiedApi, { explode: false, charEncoding: "none" }),
88
+ }));
89
+ const secConfig = await (0, security_js_1.extractSecurity)(client._options.apiKey);
90
+ const securityInput = secConfig == null ? {} : { apiKey: secConfig };
91
+ const requestSecurity = (0, security_js_1.resolveGlobalSecurity)(securityInput);
92
+ const context = {
93
+ options: client._options,
94
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
95
+ operationID: "proxy.postProxy",
96
+ oAuth2Scopes: null,
97
+ resolvedSecurity: requestSecurity,
98
+ securitySource: client._options.apiKey,
99
+ retryConfig: options?.retries
100
+ || client._options.retryConfig
101
+ || {
102
+ strategy: "backoff",
103
+ backoff: {
104
+ initialInterval: 500,
105
+ maxInterval: 60000,
106
+ exponent: 1.5,
107
+ maxElapsedTime: 900000,
108
+ },
109
+ retryConnectionErrors: true,
110
+ }
111
+ || { strategy: "none" },
112
+ retryCodes: options?.retryCodes || ["408", "500", "502", "503", "504"],
113
+ };
114
+ const requestRes = client._createRequest(context, {
115
+ security: requestSecurity,
116
+ method: "POST",
117
+ baseURL: options?.serverURL,
118
+ path: path,
119
+ headers: headers,
120
+ body: body,
121
+ userAgent: client._options.userAgent,
122
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
123
+ }, options);
124
+ if (!requestRes.ok) {
125
+ return [requestRes, { status: "invalid" }];
126
+ }
127
+ const req = requestRes.value;
128
+ const doResult = await client._do(req, {
129
+ context,
130
+ errorCodes: ["401", "4XX", "5XX"],
131
+ retryConfig: context.retryConfig,
132
+ retryCodes: context.retryCodes,
133
+ });
134
+ if (!doResult.ok) {
135
+ return [doResult, { status: "request-error", request: req }];
136
+ }
137
+ const response = doResult.value;
138
+ const responseFields = {
139
+ HttpMeta: { Response: response, Request: req },
140
+ };
141
+ const [result] = await M.match(M.json(200, operations.ProxyPostProxyResponse$inboundSchema, {
142
+ key: "responseJson",
143
+ }), M.stream(200, operations.ProxyPostProxyResponse$inboundSchema, {
144
+ key: "responseBinary",
145
+ }), M.stream(200, operations.ProxyPostProxyResponse$inboundSchema, {
146
+ ctype: "application/pdf",
147
+ key: "responsePdf",
148
+ }), M.text(200, operations.ProxyPostProxyResponse$inboundSchema, {
149
+ ctype: "application/xml",
150
+ key: "responseXml",
151
+ }), M.text(200, operations.ProxyPostProxyResponse$inboundSchema, {
152
+ ctype: "text/csv",
153
+ key: "responseCsv",
154
+ }), M.text(200, operations.ProxyPostProxyResponse$inboundSchema, {
155
+ key: "responseText",
156
+ }), M.jsonErr(401, errors.Unauthorized$inboundSchema), M.fail("4XX"), M.fail("5XX"), M.json("default", operations.ProxyPostProxyResponse$inboundSchema, {
157
+ hdrs: true,
158
+ key: "errorJson",
159
+ }), M.text("default", operations.ProxyPostProxyResponse$inboundSchema, {
160
+ ctype: "application/xml",
161
+ hdrs: true,
162
+ key: "errorXml",
163
+ }), M.text("default", operations.ProxyPostProxyResponse$inboundSchema, {
164
+ ctype: "text/html",
165
+ hdrs: true,
166
+ key: "errorHtml",
167
+ }), M.text("default", operations.ProxyPostProxyResponse$inboundSchema, {
168
+ hdrs: true,
169
+ key: "errorText",
170
+ }))(response, req, { extraFields: responseFields });
171
+ if (!result.ok) {
172
+ return [result, { status: "complete", request: req, response }];
173
+ }
174
+ return [result, { status: "complete", request: req, response }];
175
+ }
176
+ //# sourceMappingURL=proxyPost.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxyPost.js","sourceRoot":"","sources":["../src/funcs/proxyPost.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CH,8BAuBC;AA9DD,sDAAmD;AACnD,sDAAwC;AACxC,wDAAkD;AAClD,kDAA8C;AAE9C,oDAA4E;AAC5E,0CAA2C;AAS3C,kEAAoD;AAGpD,0EAA4D;AAC5D,gDAAwD;AAGxD,IAAY,cAQX;AARD,WAAY,cAAc;IACxB,sDAAoC,CAAA;IACpC,sCAAoB,CAAA;IACpB,0CAAwB,CAAA;IACxB,qEAAmD,CAAA;IACnD,oDAAkC,CAAA;IAClC,oDAAkC,CAAA;IAClC,wCAAsB,CAAA;AACxB,CAAC,EARW,cAAc,8BAAd,cAAc,QAQzB;AAED;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,MAAmB,EACnB,OAAyC,EACzC,OAAoE;IAepE,OAAO,IAAI,qBAAU,CAAC,GAAG,CACvB,MAAM,EACN,OAAO,EACP,OAAO,CACR,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,GAAG,CAChB,MAAmB,EACnB,OAAyC,EACzC,OAAoE;IAkBpE,MAAM,MAAM,GAAG,IAAA,sBAAS,EACtB,OAAO,EACP,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,oCAAoC,CAAC,KAAK,CAAC,KAAK,CAAC,EACvE,yBAAyB,CAC1B,CAAC;IACF,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IAEjC,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,EAAE,CAAC;IAEpC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAA,0BAAU,EAAC;QACrC,cAAc,EAAE,IAAI,YAAY,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACzE,MAAM,EAAE,OAAO,EAAE,oBAAoB;eAChC,qJAAqJ;QAC1J,kBAAkB,EAAE,IAAA,2BAAY,EAC9B,kBAAkB,EAClB,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EACtC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;QACD,uBAAuB,EAAE,IAAA,2BAAY,EACnC,uBAAuB,EACvB,OAAO,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,EAChD,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;QACD,oCAAoC,EAAE,IAAA,2BAAY,EAChD,oCAAoC,EACpC,OAAO,CAAC,uBAAuB,EAC/B,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;QACD,0BAA0B,EAAE,IAAA,2BAAY,EACtC,0BAA0B,EAC1B,OAAO,CAAC,aAAa,EACrB,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;QACD,sBAAsB,EAAE,IAAA,2BAAY,EAClC,sBAAsB,EACtB,OAAO,CAAC,SAAS,EACjB,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;QACD,uBAAuB,EAAE,IAAA,2BAAY,EACnC,uBAAuB,EACvB,OAAO,CAAC,UAAU,EAClB,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,CACzC;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,SAAS,GAAG,MAAM,IAAA,6BAAe,EAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IACrE,MAAM,eAAe,GAAG,IAAA,mCAAqB,EAAC,aAAa,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,MAAM,CAAC,QAAQ;QACxB,OAAO,EAAE,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE;QACpD,WAAW,EAAE,iBAAiB;QAC9B,YAAY,EAAE,IAAI;QAElB,gBAAgB,EAAE,eAAe;QAEjC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QACtC,WAAW,EAAE,OAAO,EAAE,OAAO;eACxB,MAAM,CAAC,QAAQ,CAAC,WAAW;eAC3B;gBACD,QAAQ,EAAE,SAAS;gBACnB,OAAO,EAAE;oBACP,eAAe,EAAE,GAAG;oBACpB,WAAW,EAAE,KAAK;oBAClB,QAAQ,EAAE,GAAG;oBACb,cAAc,EAAE,MAAM;iBACvB;gBACD,qBAAqB,EAAE,IAAI;aAC5B;eACE,EAAE,QAAQ,EAAE,MAAM,EAAE;QACzB,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;KACvE,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE;QAChD,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,OAAO,EAAE,SAAS;QAC3B,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI;QACV,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS;QACpC,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;KACjE,EAAE,OAAO,CAAC,CAAC;IACZ,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC;QACnB,OAAO,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC;IAE7B,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;QACrC,OAAO;QACP,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC;QACjC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;KAC/B,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;IAEhC,MAAM,cAAc,GAAG;QACrB,QAAQ,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;KAC/C,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAY5B,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,oCAAoC,EAAE;QAC3D,GAAG,EAAE,cAAc;KACpB,CAAC,EACF,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,oCAAoC,EAAE;QAC7D,GAAG,EAAE,gBAAgB;KACtB,CAAC,EACF,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,oCAAoC,EAAE;QAC7D,KAAK,EAAE,iBAAiB;QACxB,GAAG,EAAE,aAAa;KACnB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,oCAAoC,EAAE;QAC3D,KAAK,EAAE,iBAAiB;QACxB,GAAG,EAAE,aAAa;KACnB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,oCAAoC,EAAE;QAC3D,KAAK,EAAE,UAAU;QACjB,GAAG,EAAE,aAAa;KACnB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,oCAAoC,EAAE;QAC3D,GAAG,EAAE,cAAc;KACpB,CAAC,EACF,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,0BAA0B,CAAC,EACjD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EACb,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EACb,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,oCAAoC,EAAE;QACjE,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,WAAW;KACjB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,oCAAoC,EAAE;QACjE,KAAK,EAAE,iBAAiB;QACxB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,UAAU;KAChB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,oCAAoC,EAAE;QACjE,KAAK,EAAE,WAAW;QAClB,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,WAAW;KACjB,CAAC,EACF,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,oCAAoC,EAAE;QACjE,IAAI,EAAE,IAAI;QACV,GAAG,EAAE,WAAW;KACjB,CAAC,CACH,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AAClE,CAAC"}