@arkyn/server 3.0.11 → 3.0.12

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 (79) hide show
  1. package/AGENTS.md +7 -2
  2. package/README.md +25 -3
  3. package/dist/http/api/_deleteRequest.d.ts +1 -0
  4. package/dist/http/api/_deleteRequest.d.ts.map +1 -1
  5. package/dist/http/api/_getRequest.d.ts +1 -0
  6. package/dist/http/api/_getRequest.d.ts.map +1 -1
  7. package/dist/http/api/_makeRequest.d.ts +2 -0
  8. package/dist/http/api/_makeRequest.d.ts.map +1 -1
  9. package/dist/http/api/_patchRequest.d.ts +1 -0
  10. package/dist/http/api/_patchRequest.d.ts.map +1 -1
  11. package/dist/http/api/_postRequest.d.ts +1 -0
  12. package/dist/http/api/_postRequest.d.ts.map +1 -1
  13. package/dist/http/api/_putRequest.d.ts +1 -0
  14. package/dist/http/api/_putRequest.d.ts.map +1 -1
  15. package/dist/http/badResponses/_badResponse.d.ts +2 -1
  16. package/dist/http/badResponses/_badResponse.d.ts.map +1 -1
  17. package/dist/http/badResponses/badGateway.d.ts +1 -1
  18. package/dist/http/badResponses/badRequest.d.ts +1 -1
  19. package/dist/http/badResponses/conflict.d.ts +1 -1
  20. package/dist/http/badResponses/forbidden.d.ts +1 -1
  21. package/dist/http/badResponses/notFound.d.ts +1 -1
  22. package/dist/http/badResponses/notImplemented.d.ts +1 -1
  23. package/dist/http/badResponses/serverError.d.ts +1 -1
  24. package/dist/http/badResponses/unauthorized.d.ts +1 -1
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +181 -134
  28. package/dist/index.js.map +1 -1
  29. package/dist/modules/http/api/_deleteRequest.js +2 -1
  30. package/dist/modules/http/api/_deleteRequest.js.map +1 -1
  31. package/dist/modules/http/api/_getRequest.js +2 -1
  32. package/dist/modules/http/api/_getRequest.js.map +1 -1
  33. package/dist/modules/http/api/_logRequest.js +1 -1
  34. package/dist/modules/http/api/_logRequest.js.map +1 -1
  35. package/dist/modules/http/api/_makeRequest.js +51 -33
  36. package/dist/modules/http/api/_makeRequest.js.map +1 -1
  37. package/dist/modules/http/api/_patchRequest.js +2 -1
  38. package/dist/modules/http/api/_patchRequest.js.map +1 -1
  39. package/dist/modules/http/api/_postRequest.js +2 -1
  40. package/dist/modules/http/api/_postRequest.js.map +1 -1
  41. package/dist/modules/http/api/_putRequest.js +2 -1
  42. package/dist/modules/http/api/_putRequest.js.map +1 -1
  43. package/dist/modules/http/badResponses/_badResponse.js +4 -1
  44. package/dist/modules/http/badResponses/_badResponse.js.map +1 -1
  45. package/dist/modules/http/badResponses/badGateway.js +1 -1
  46. package/dist/modules/http/badResponses/badGateway.js.map +1 -1
  47. package/dist/modules/http/badResponses/badRequest.js +1 -1
  48. package/dist/modules/http/badResponses/badRequest.js.map +1 -1
  49. package/dist/modules/http/badResponses/conflict.js +1 -1
  50. package/dist/modules/http/badResponses/conflict.js.map +1 -1
  51. package/dist/modules/http/badResponses/forbidden.js +1 -1
  52. package/dist/modules/http/badResponses/forbidden.js.map +1 -1
  53. package/dist/modules/http/badResponses/notFound.js +1 -1
  54. package/dist/modules/http/badResponses/notFound.js.map +1 -1
  55. package/dist/modules/http/badResponses/notImplemented.js +1 -1
  56. package/dist/modules/http/badResponses/notImplemented.js.map +1 -1
  57. package/dist/modules/http/badResponses/serverError.js +1 -1
  58. package/dist/modules/http/badResponses/serverError.js.map +1 -1
  59. package/dist/modules/http/badResponses/unauthorized.js +1 -1
  60. package/dist/modules/http/badResponses/unauthorized.js.map +1 -1
  61. package/dist/modules/http/badResponses/unprocessableEntity.js +1 -1
  62. package/dist/modules/http/badResponses/unprocessableEntity.js.map +1 -1
  63. package/dist/modules/services/apiService.js +12 -6
  64. package/dist/modules/services/apiService.js.map +1 -1
  65. package/dist/modules/services/logService.js +21 -8
  66. package/dist/modules/services/logService.js.map +1 -1
  67. package/dist/modules/utilities/withSecurityHeaders.js +18 -0
  68. package/dist/modules/utilities/withSecurityHeaders.js.map +1 -0
  69. package/dist/modules/validations/validateDate.js +4 -14
  70. package/dist/modules/validations/validateDate.js.map +1 -1
  71. package/dist/services/apiService.d.ts +5 -0
  72. package/dist/services/apiService.d.ts.map +1 -1
  73. package/dist/services/logService.d.ts +25 -5
  74. package/dist/services/logService.d.ts.map +1 -1
  75. package/dist/utilities/withSecurityHeaders.d.ts +45 -0
  76. package/dist/utilities/withSecurityHeaders.d.ts.map +1 -0
  77. package/dist/validations/validateDate.d.ts +3 -2
  78. package/dist/validations/validateDate.d.ts.map +1 -1
  79. package/package.json +9 -1
package/AGENTS.md CHANGED
@@ -152,6 +152,11 @@ All `(value: string) => boolean`, never throw:
152
152
  - Signature: `decodeRequestErrorMessage(data: any, response: Response): string`
153
153
  - Extracts a human message from an API error payload, checking in order: `data.message`, `data.operator_erro_message`, `data.error`, `data.error.message`, `response.statusText`, falling back to `"Missing error message"`.
154
154
 
155
+ #### withSecurityHeaders
156
+ - Import: `import { withSecurityHeaders } from "@arkyn/server/withSecurityHeaders";`
157
+ - Signature: `withSecurityHeaders(response: Response, overrides?: Record<string, string | null>): Response`
158
+ - Sets `X-Content-Type-Options: nosniff`, `X-Frame-Options: DENY`, `Referrer-Policy: strict-origin-when-cross-origin` on `response` (mutated in place, same instance returned). Opt-in — never called automatically by any response class. Not included by default: `Content-Security-Policy`, `Strict-Transport-Security` (too app-specific). `overrides`: a string replaces/adds a header, `null` removes a default.
159
+
155
160
  #### errorHandler
156
161
  - Import: `import { errorHandler } from "@arkyn/server/errorHandler";`
157
162
  - Signature: `errorHandler(error: any): Response`
@@ -190,8 +195,8 @@ Every method returns whatever the underlying request helper resolves (an object
190
195
 
191
196
  #### LogService (static)
192
197
  - Import: `import { LogService } from "@arkyn/server/logService";`
193
- - `LogService.setConfig(config: { trafficSourceId: string; userToken: string; logBaseApiUrl?: string }): void` — only applies on the **first** call; later calls are silently ignored until `resetConfig()`.
194
- - `LogService.getConfig(): { trafficSourceId; userToken; apiUrl } | undefined`
198
+ - `LogService.setConfig(config: { trafficSourceId: string; serviceToken: string; logBaseApiUrl?: string }): void` — only applies on the **first** call; later calls are ignored (logs a dev-mode warning) until `resetConfig()`. `serviceToken` must be a static, application-level credential (e.g. an env var) — never a per-request/session value, since only the first call's value is ever kept. Call once at app boot, not inside a request handler. `userToken` is accepted as a deprecated alias.
199
+ - `LogService.getConfig(): { trafficSourceId; serviceToken; apiUrl } | undefined`
195
200
  - `LogService.resetConfig(): void`
196
201
 
197
202
  ## Related packages
package/README.md CHANGED
@@ -204,17 +204,21 @@ DebugService.setIgnoreFile("httpAdapter.ts");
204
204
 
205
205
  #### LogService
206
206
 
207
- Static service for log endpoint configuration. Stores a singleton configuration containing the traffic source identifier, user token, and log ingestion URL; `setConfig` only applies on the first call, `getConfig` reads it back, and `resetConfig` clears it.
207
+ Static service for log endpoint configuration. Stores a singleton configuration containing the traffic source identifier, service token, and log ingestion URL; `setConfig` only applies on the first call, `getConfig` reads it back, and `resetConfig` clears it.
208
+
209
+ `serviceToken` authenticates *this application* to the Arkyn log ingestion API. It must be a static, application-level credential (e.g. an environment variable) — the same value for every request. Call `setConfig` once at application boot, **not** inside a request handler/loader: because it's a singleton that only applies on its first call, passing a per-request value (like a session token) would leak whichever request got there first to every other request's outbound telemetry for the lifetime of the process.
208
210
 
209
211
  ```typescript
210
212
  LogService.setConfig({
211
213
  trafficSourceId: "my-app",
212
- userToken: session.token,
214
+ serviceToken: process.env.ARKYN_LOG_SERVICE_TOKEN,
213
215
  });
214
216
 
215
- LogService.getConfig(); // { trafficSourceId, userToken, apiUrl }
217
+ LogService.getConfig(); // { trafficSourceId, serviceToken, apiUrl }
216
218
  ```
217
219
 
220
+ > `userToken` is still accepted as a deprecated alias for `serviceToken` for backward compatibility, but a warning is logged in development. Migrate to `serviceToken`.
221
+
218
222
  ### Utilities
219
223
 
220
224
  #### decodeRequestBody
@@ -314,6 +318,24 @@ const validator = new SchemaValidator(z.object({ email: z.string().email() }));
314
318
  const body = validator.formValidate(await decodeRequestBody(request));
315
319
  ```
316
320
 
321
+ #### withSecurityHeaders
322
+
323
+ Adds a small set of standard security headers to a `Response` (`X-Content-Type-Options: nosniff`, `X-Frame-Options: DENY`, `Referrer-Policy: strict-origin-when-cross-origin`), mutating and returning the same instance. Opt-in only — nothing in `@arkyn/server` calls this automatically. `Content-Security-Policy` and `Strict-Transport-Security` are intentionally not included by default (too app-specific to guess safely); pass them yourself via the second argument, which also lets you replace or remove (`null`) any default.
324
+
325
+ ```typescript
326
+ import { Success, withSecurityHeaders } from "@arkyn/server";
327
+
328
+ export async function loader() {
329
+ return withSecurityHeaders(new Success("OK", { data }).toResponse());
330
+ }
331
+
332
+ // Disable one default, add a CSP
333
+ withSecurityHeaders(response, {
334
+ "X-Frame-Options": null,
335
+ "Content-Security-Policy": "default-src 'self'",
336
+ });
337
+ ```
338
+
317
339
  ### Validators
318
340
 
319
341
  #### validateCep
@@ -4,6 +4,7 @@ type InputProps = {
4
4
  urlParams?: Record<string, string>;
5
5
  headers?: HeadersInit;
6
6
  body?: any;
7
+ timeoutMs?: number;
7
8
  };
8
9
  /**
9
10
  * Sends a DELETE request to the specified URL with optional headers and body.
@@ -1 +1 @@
1
- {"version":3,"file":"_deleteRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_deleteRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAElE,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,IAAI,CAAC,EAAE,GAAG,CAAC;CACX,CAAC;AAEF;;;;;;GAMG;AAGH,iBAAe,aAAa,CAAC,CAAC,GAAG,GAAG,EACnC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAQ5B;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"_deleteRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_deleteRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAElE,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AAGH,iBAAe,aAAa,CAAC,CAAC,GAAG,GAAG,EACnC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAS5B;AAED,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -3,6 +3,7 @@ type InputProps = {
3
3
  url: string;
4
4
  urlParams?: Record<string, string>;
5
5
  headers?: HeadersInit;
6
+ timeoutMs?: number;
6
7
  };
7
8
  /**
8
9
  * Sends a GET request to the specified URL with optional headers.
@@ -1 +1 @@
1
- {"version":3,"file":"_getRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_getRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAElE,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF;;;;;;GAMG;AAGH,iBAAe,UAAU,CAAC,CAAC,GAAG,GAAG,EAChC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAO5B;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"_getRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_getRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAElE,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AAGH,iBAAe,UAAU,CAAC,CAAC,GAAG,GAAG,EAChC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAQ5B;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -4,6 +4,8 @@ type InputProps = {
4
4
  urlParams?: Record<string, string>;
5
5
  headers?: HeadersInit;
6
6
  body?: any;
7
+ /** Aborts the request after this many milliseconds. Defaults to 10,000ms. */
8
+ timeoutMs?: number;
7
9
  };
8
10
  type ApiSuccessResponse<T = any> = {
9
11
  success: true;
@@ -1 +1 @@
1
- {"version":3,"file":"_makeRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_makeRequest.ts"],"names":[],"mappings":"AAIA,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,IAAI,CAAC,EAAE,GAAG,CAAC;CACX,CAAC;AAGF,KAAK,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACxB,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;CAC7B,CAAC;AAGF,KAAK,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,iBAAe,WAAW,CAAC,CAAC,GAAG,GAAG,EACjC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAqF5B;AAED,OAAO,EAAE,KAAK,cAAc,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"_makeRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_makeRequest.ts"],"names":[],"mappings":"AAMA,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAGF,KAAK,kBAAkB,CAAC,CAAC,GAAG,GAAG,IAAI;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACxB,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAEhB,QAAQ,EAAE,GAAG,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI,CAAC;CAC7B,CAAC;AAGF,KAAK,cAAc,CAAC,CAAC,GAAG,GAAG,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,iBAAe,WAAW,CAAC,CAAC,GAAG,GAAG,EACjC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAqH5B;AAED,OAAO,EAAE,KAAK,cAAc,EAAE,WAAW,EAAE,CAAC"}
@@ -4,6 +4,7 @@ type InputProps = {
4
4
  urlParams?: Record<string, string>;
5
5
  headers?: HeadersInit;
6
6
  body?: any;
7
+ timeoutMs?: number;
7
8
  };
8
9
  /**
9
10
  * Sends a PATCH request to the specified URL with optional headers and body.
@@ -1 +1 @@
1
- {"version":3,"file":"_patchRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_patchRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAElE,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,IAAI,CAAC,EAAE,GAAG,CAAC;CACX,CAAC;AAEF;;;;;;GAMG;AAGH,iBAAe,YAAY,CAAC,CAAC,GAAG,GAAG,EAClC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAQ5B;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"_patchRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_patchRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAElE,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AAGH,iBAAe,YAAY,CAAC,CAAC,GAAG,GAAG,EAClC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAS5B;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -4,6 +4,7 @@ type InputProps = {
4
4
  urlParams?: Record<string, string>;
5
5
  headers?: HeadersInit;
6
6
  body?: any;
7
+ timeoutMs?: number;
7
8
  };
8
9
  /**
9
10
  * Sends a POST request to the specified URL with optional headers and body.
@@ -1 +1 @@
1
- {"version":3,"file":"_postRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_postRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAElE,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,IAAI,CAAC,EAAE,GAAG,CAAC;CACX,CAAC;AAEF;;;;;;GAMG;AAGH,iBAAe,WAAW,CAAC,CAAC,GAAG,GAAG,EACjC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAQ5B;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"_postRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_postRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAElE,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AAGH,iBAAe,WAAW,CAAC,CAAC,GAAG,GAAG,EACjC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAS5B;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -4,6 +4,7 @@ type InputProps = {
4
4
  urlParams?: Record<string, string>;
5
5
  headers?: HeadersInit;
6
6
  body?: any;
7
+ timeoutMs?: number;
7
8
  };
8
9
  /**
9
10
  * Sends a PUT request to the specified URL with optional headers and body.
@@ -1 +1 @@
1
- {"version":3,"file":"_putRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_putRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAElE,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,IAAI,CAAC,EAAE,GAAG,CAAC;CACX,CAAC;AAEF;;;;;;GAMG;AAGH,iBAAe,UAAU,CAAC,CAAC,GAAG,GAAG,EAChC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAQ5B;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"_putRequest.d.ts","sourceRoot":"","sources":["../../../src/http/api/_putRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAe,MAAM,gBAAgB,CAAC;AAElE,KAAK,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC;IAEtB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;GAMG;AAGH,iBAAe,UAAU,CAAC,CAAC,GAAG,GAAG,EAChC,KAAK,EAAE,UAAU,GACf,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAS5B;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -1,4 +1,4 @@
1
- declare class BadResponse {
1
+ declare class BadResponse extends Error {
2
2
  private _cause?;
3
3
  private _name;
4
4
  private _status;
@@ -11,6 +11,7 @@ declare class BadResponse {
11
11
  * set this to `true`.
12
12
  */
13
13
  protected exposeCauseInProduction: boolean;
14
+ constructor(message?: string);
14
15
  get cause(): any;
15
16
  set cause(value: any);
16
17
  get name(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"_badResponse.d.ts","sourceRoot":"","sources":["../../../src/http/badResponses/_badResponse.ts"],"names":[],"mappings":"AAKA,cAAM,WAAW;IAEhB,OAAO,CAAC,MAAM,CAAC,CAAM;IACrB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,WAAW,CAA8C;IACjE;;;;;OAKG;IACH,SAAS,CAAC,uBAAuB,UAAS;IAG1C,IAAI,KAAK,IAAI,GAAG,CAEf;IAGD,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,EAEnB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAEvB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED,IAAI,UAAU,IAAI,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAEpD;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,EAGxD;IAED,OAAO;IAeP,QAAQ;;;;;CAUR;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"_badResponse.d.ts","sourceRoot":"","sources":["../../../src/http/badResponses/_badResponse.ts"],"names":[],"mappings":"AAKA,cAAM,WAAY,SAAQ,KAAK;IAE9B,OAAO,CAAC,MAAM,CAAC,CAAM;IACrB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,WAAW,CAA2B;IAC9C,OAAO,CAAC,WAAW,CAA8C;IACjE;;;;;OAKG;IACH,SAAS,CAAC,uBAAuB,UAAS;gBAE9B,OAAO,CAAC,EAAE,MAAM;IAU5B,IAAI,KAAK,IAAI,GAAG,CAEf;IAGD,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG,EAEnB;IAED,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAErB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAEvB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED,IAAI,UAAU,IAAI,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAEpD;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,EAGxD;IAED,OAAO;IAeP,QAAQ;;;;;CAUR;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -12,7 +12,7 @@ import { BadResponse } from "./_badResponse";
12
12
  declare class BadGateway extends BadResponse {
13
13
  /**
14
14
  * @param message - Error description sent in the response body and logged for debugging.
15
- * @param cause - Optional extra context (serialized to JSON in the response).
15
+ * @param cause - Optional extra context.
16
16
  */
17
17
  constructor(message: string, cause?: any);
18
18
  /** Converts to a `Response` with `Content-Type: application/json` header. */
@@ -10,7 +10,7 @@ import { BadResponse } from "./_badResponse";
10
10
  declare class BadRequest extends BadResponse {
11
11
  /**
12
12
  * @param message - Error description.
13
- * @param cause - Optional extra context (serialized to JSON).
13
+ * @param cause - Optional extra context.
14
14
  */
15
15
  constructor(message: string, cause?: any);
16
16
  /** Converts to a `Response` with `Content-Type: application/json` header. */
@@ -10,7 +10,7 @@ import { BadResponse } from "./_badResponse";
10
10
  declare class Conflict extends BadResponse {
11
11
  /**
12
12
  * @param message - Error description.
13
- * @param cause - Optional extra context (serialized to JSON).
13
+ * @param cause - Optional extra context.
14
14
  */
15
15
  constructor(message: string, cause?: any);
16
16
  /** Converts to a `Response` with `Content-Type: application/json` header. */
@@ -10,7 +10,7 @@ import { BadResponse } from "./_badResponse";
10
10
  declare class Forbidden extends BadResponse {
11
11
  /**
12
12
  * @param message - Error description.
13
- * @param cause - Optional extra context (serialized to JSON).
13
+ * @param cause - Optional extra context.
14
14
  */
15
15
  constructor(message: string, cause?: any);
16
16
  /** Converts to a `Response` with `Content-Type: application/json` header. */
@@ -10,7 +10,7 @@ import { BadResponse } from "./_badResponse";
10
10
  declare class NotFound extends BadResponse {
11
11
  /**
12
12
  * @param message - Error description.
13
- * @param cause - Optional extra context (serialized to JSON).
13
+ * @param cause - Optional extra context.
14
14
  */
15
15
  constructor(message: string, cause?: any);
16
16
  /** Converts to a `Response` with `Content-Type: application/json` header. */
@@ -10,7 +10,7 @@ import { BadResponse } from "./_badResponse";
10
10
  declare class NotImplemented extends BadResponse {
11
11
  /**
12
12
  * @param message - Error description.
13
- * @param cause - Optional extra context (serialized to JSON).
13
+ * @param cause - Optional extra context.
14
14
  */
15
15
  constructor(message: string, cause?: any);
16
16
  /** Converts to a `Response` with `Content-Type: application/json` header. */
@@ -10,7 +10,7 @@ import { BadResponse } from "./_badResponse";
10
10
  declare class ServerError extends BadResponse {
11
11
  /**
12
12
  * @param message - Error description.
13
- * @param cause - Optional extra context (serialized to JSON).
13
+ * @param cause - Optional extra context.
14
14
  */
15
15
  constructor(message: string, cause?: any);
16
16
  /** Converts to a `Response` with `Content-Type: application/json` header. */
@@ -10,7 +10,7 @@ import { BadResponse } from "./_badResponse";
10
10
  declare class Unauthorized extends BadResponse {
11
11
  /**
12
12
  * @param message - Error description.
13
- * @param cause - Optional extra context (serialized to JSON).
13
+ * @param cause - Optional extra context.
14
14
  */
15
15
  constructor(message: string, cause?: any);
16
16
  /** Converts to a `Response` with `Content-Type: application/json` header. */
package/dist/index.d.ts CHANGED
@@ -23,6 +23,7 @@ export { formAsyncParse } from "./utilities/formAsyncParse";
23
23
  export { formParse } from "./utilities/formParse";
24
24
  export { getScopedParams } from "./utilities/getScopedParams";
25
25
  export { SchemaValidator } from "./utilities/schemaValidator";
26
+ export { withSecurityHeaders } from "./utilities/withSecurityHeaders";
26
27
  export { validateCep } from "./validations/validateCep";
27
28
  export { validateCnpj } from "./validations/validateCnpj";
28
29
  export { validateCpf } from "./validations/validateCpf";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,iCAAiC,CAAC;AAG1D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC"}