@tak-ps/node-tak 12.24.0 → 12.26.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/CHANGELOG.md +11 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/api/certificate.d.ts +77 -0
- package/dist/lib/api/certificate.js +159 -0
- package/dist/lib/api/certificate.js.map +1 -1
- package/dist/lib/api.js +5 -1
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/utils/html-error.d.ts +32 -0
- package/dist/lib/utils/html-error.js +172 -0
- package/dist/lib/utils/html-error.js.map +1 -0
- package/dist/test/certificate.test.d.ts +1 -0
- package/dist/test/certificate.test.js +301 -0
- package/dist/test/certificate.test.js.map +1 -0
- package/dist/test/html-error.test.d.ts +1 -0
- package/dist/test/html-error.test.js +115 -0
- package/dist/test/html-error.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/index.ts +1 -0
- package/lib/api/certificate.ts +184 -0
- package/lib/api.ts +5 -1
- package/lib/utils/html-error.ts +208 -0
- package/package.json +1 -1
- package/test/certificate.test.ts +339 -0
- package/test/html-error.test.ts +139 -0
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,17 @@
|
|
|
12
12
|
|
|
13
13
|
### Pending
|
|
14
14
|
|
|
15
|
+
### v12.26.0 - 2026-08-24
|
|
16
|
+
|
|
17
|
+
- :tada: Add `Certificate.listActive()` (`GET /Marti/api/certadmin/cert/active`) & `Certificate.downloadIds()` (`GET /Marti/api/certadmin/cert/download/{ids}`, returns the ZIP archive as a `Readable`)
|
|
18
|
+
- :tada: Add `Certificate.validate(pem)` which evaluates expiry locally and looks up the TAK Server revocation record by SHA-256 fingerprint (the same `hash` consulted by `X509Authenticator`) via the user's certificate list, returning `expired`/`revoked`/`known`/`valid` along with the matching `certificate` record - `CertificateValidation` is exported. The record is fetched with `get(hash)` (a single cached row on the TAK Server) falling back to the user's certificate list when the server answers 500, which is how it reports an unknown hash
|
|
19
|
+
- :tada: Add `Certificate.probe()` which checks whether the TAK Server accepts the API's own credentials via `GET /Marti/api/version` - the cheapest authoritative check as the X509 filter runs (and rethrows) on every request. Returns `{ accepted, version }` or `{ accepted: false, reason: 'revoked' | 'rejected' | 'tls', message }`; non-authentication errors are rethrown. `CertificateProbe` is exported
|
|
20
|
+
|
|
21
|
+
### v12.25.0 - 2026-08-24
|
|
22
|
+
|
|
23
|
+
- :tada: TAK Server HTML error pages (Tomcat/Spring "Exception Report" documents) returned by the API are now parsed into a `TAKServerError` instead of the raw HTML being used as the error message - `message`/`safe` contain the human readable `Message` (falling back to `Description`, the Exception's message, the page `<title>` or the visible text) while `details` contains a plain-text breakdown (status line, labelled fields & exception trace) suitable for an "Advanced" UI section and `html` retains the unmodified page. Pages are parsed with the existing `@tak-ps/xml-js` dependency (Tomcat emits well-formed XHTML) with a visible-text fallback for malformed documents. `TAKServerError`, `parseHTMLError()`, `isHTML()`, `summarizeHTMLError()` & `formatHTMLError()` are exported
|
|
24
|
+
- :bug: Errors thrown within `TAKAPI.fetch` are now rethrown when they are any `Err` subclass (previously matched on `name === 'PublicError'` only)
|
|
25
|
+
|
|
15
26
|
### v12.24.0 - 2026-08-11
|
|
16
27
|
|
|
17
28
|
- :tada: `Mission.latestFeats()` & `MissionLayer.latestFeats()` now parse each CoT in the TAK Server response individually via `CoTParser.from_xml_document()` and return `{ features, invalid }` - unparseable CoTs are collected in `invalid` as `{ error, feature }` (the raw unmutated xml-js event) so a single poisoned CoT no longer prevents the valid Data Sync features from being returned (previously the entire call would throw)
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import TAKAPI from './lib/api.js';
|
|
|
7
7
|
import { TAKAuth } from './lib/auth.js';
|
|
8
8
|
import { Queue } from './lib/utils/queue.js';
|
|
9
9
|
export * from './lib/auth.js';
|
|
10
|
+
export * from './lib/utils/html-error.js';
|
|
10
11
|
export declare const REGEX_CONTROL: RegExp;
|
|
11
12
|
export declare const REGEX_EVENT: RegExp;
|
|
12
13
|
export interface PartialCoT {
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,7 @@ import tls from 'node:tls';
|
|
|
4
4
|
import TAKAPI from './lib/api.js';
|
|
5
5
|
import { Queue } from './lib/utils/queue.js';
|
|
6
6
|
export * from './lib/auth.js';
|
|
7
|
+
export * from './lib/utils/html-error.js';
|
|
7
8
|
/* eslint-disable no-control-regex */
|
|
8
9
|
export const REGEX_CONTROL = /[\u000B-\u001F\u007F-\u009F]/g;
|
|
9
10
|
// Match <event .../> or <event> but not <events>
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAEA,OAAO,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,YAAY,MAAM,aAAa,CAAC;AAEvC,OAAO,GAAG,MAAM,UAAU,CAAC;AAE3B,OAAO,MAAM,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,cAAc,eAAe,CAAC;AAE9B,qCAAqC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,+BAA+B,CAAC;AAE7D,iDAAiD;AACjD,MAAM,CAAC,MAAM,WAAW,GAAG,wCAAwC,CAAC;AAgFpE,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,SAAS,QAAQ,CAAC,GAAQ;IACtB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAEvB,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,YAAY;IACzC,EAAE,CAAkB;IACpB,IAAI,CAAS;IACb,GAAG,CAAM;IACT,IAAI,CAAyB;IAC7B,IAAI,CAAU;IACd,SAAS,CAAU;IACnB,OAAO,CAAU;IACjB,cAAc,CAAS;IACvB,eAAe,CAAS;IAExB,UAAU,CAAa;IAEvB,YAAY,CAAiC;IAC7C,MAAM,CAAa;IACnB,OAAO,CAAU;IAEjB,mBAAmB;IACnB,+EAA+E;IAC/E,4EAA4E;IAC5E,8EAA8E;IAC9E,KAAK,CAAgB;IAErB;;;;;;OAMG;IACH,YAAY,GAAQ,EAAE,IAA4B,EAAE,OAAmB,EAAE;QACrE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,IAAI;YAAE,IAAI,GAAG,EAAE,CAAC;QAErB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC;QAEnC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,wBAAwB,CAAC;QACtE,IAAI,CAAC,eAAe;YAChB,IAAI,CAAC,eAAe,IAAI,yBAAyB,CAAC;QAEtD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;QAEjC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAS,IAAI,CAAC,cAAc,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,OAAO,CAChB,GAAQ,EACR,IAA4B,EAC5B,OAAmB,EAAE;QAErB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAErC,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACxD,OAAO,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;IAED,WAAW;QACP,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAElB,gEAAgE;YAChE,6DAA6D;YAC7D,4DAA4D;YAC5D,gEAAgE;YAChE,oEAAoE;YACpE,+DAA+D;YAC/D,4DAA4D;YAC5D,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC;gBACvB,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC7B,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,KAAK;gBACzD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBACpB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;gBAClB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;gBAChC,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;aACnB,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YAErB,MAAM,CAAC,UAAU,EAAE,CAAC;YAEpB,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBACtB,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACnC,OAAO,CAAC,KAAK,CACT,QAAQ,IAAI,CAAC,EAAE,cAAc,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,EAAE,CACpJ,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;gBAC5B,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACnC,OAAO,CAAC,KAAK,CACT,QAAQ,IAAI,CAAC,EAAE,aAAa,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,EAAE,CACnJ,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,MAAM;iBACD,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;gBAC/B,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACnC,4BAA4B;gBAC5B,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAE9B,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;oBAC5B,IAAI,CAAC;wBACD,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAC1B,MAAM,CAAC,KAAK,EACZ,IAAI,CAAC,UAAU,CAClB,CAAC;wBAEF,IACI,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,WAAW,EAChD,CAAC;4BACC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;4BACjB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACtB,CAAC;6BAAM,IACH,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI;4BAC1B,YAAY;4BAChB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM;4BACpB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU;4BAC/B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU;iCAC1B,oBAAoB;4BACzB,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU;iCAC1B,oBAAoB,CAAC,WAAW,EACvC,CAAC;4BACC,IAAI,CAAC,OAAO;gCACR,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,aAAa,CAAC;wBACvF,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBAC1B,CAAC;oBACL,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACvD,CAAC;oBAED,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;oBAExB,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC,CAAC;iBACD,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBAChB,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACnC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;gBACxB,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACnC,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC9C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAC5B,CAAC,CAAC;iBACD,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACZ,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACnC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,4DAA4D;gBAC5D,2DAA2D;gBAC3D,oDAAoD;gBACpD,mDAAmD;gBACnD,wBAAwB;gBACxB,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnB,CAAC;YACL,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACd,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,qDAAqD;oBACrD,oDAAoD;oBACpD,+CAA+C;oBAC/C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC,CAAC;iBACD,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACd,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;YAEP,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;gBACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChB,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,SAAS;QACX,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAClC,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,OAAO;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM;oBAAE,MAAM;gBAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB;oBAAE,MAAM;gBAEzC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CACvB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CACpB,CAAC;gBACF,MAAM,KAAK,GAAa,IAAI,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;oBAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;oBAC7B,IAAI,CAAC,GAAG;wBAAE,MAAM;oBAChB,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBACnB,CAAC;gBAED,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACtD,IAAI,CAAC,EAAE;oBAAE,MAAM;YACnB,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,iEAAiE;YACjE,uEAAuE;YACvE,8DAA8D;YAC9D,IACI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBACrB,CAAC,IAAI,CAAC,SAAS;gBACf,IAAI,CAAC,MAAM;gBACX,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAChC,CAAC;gBACC,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,KAAK,CAAC,IAAW,EAAE,OAAqB,EAAE;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAI,CAAC;YAChC,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO;YAE3B,8DAA8D;YAC9D,OACI,CAAC,GAAG,IAAI,CAAC,MAAM;gBACf,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAC5B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAC5C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CACnD,CAAC,EACJ,CAAC;gBACC,CAAC,EAAE,CAAC;YACR,CAAC;YAED,iCAAiC;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;YAEf,+DAA+D;YAC/D,0CAA0C;YAC1C,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK;QACP,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAErD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,GAAG,EAAE;gBACf,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACjB,OAAO,EAAE,CAAC;oBACV,MAAM,CACF,IAAI,KAAK,CACL,6CAA6C,CAChD,CACJ,CAAC;gBACN,CAAC;qBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAClD,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;gBACd,CAAC;YACL,CAAC,CAAC;YACF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACjB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAC3B,KAAK,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,IAAY;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACL,CAAC;IAED,sEAAsE;IACtE,MAAM,CAAC,OAAO,CAAC,GAAW;QACtB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;QAErC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB;QACvD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,OAAO;YACH,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;YACf,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;SACtB,CAAC;IACN,CAAC;CACJ;AAED,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Commands from '../commands.js';
|
|
2
|
+
import { Readable } from 'node:stream';
|
|
2
3
|
import type { Static } from '@sinclair/typebox';
|
|
3
4
|
export declare const Certificate: import("@sinclair/typebox").TObject<{
|
|
4
5
|
id: import("@sinclair/typebox").TInteger;
|
|
@@ -57,6 +58,39 @@ export declare const TAKItem_Certificate: import("@sinclair/typebox").TObject<{
|
|
|
57
58
|
messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
58
59
|
nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
59
60
|
}>;
|
|
61
|
+
export declare const CertificateValidation: import("@sinclair/typebox").TObject<{
|
|
62
|
+
fingerprint: import("@sinclair/typebox").TString;
|
|
63
|
+
subject: import("@sinclair/typebox").TString;
|
|
64
|
+
username: import("@sinclair/typebox").TString;
|
|
65
|
+
validFrom: import("@sinclair/typebox").TString;
|
|
66
|
+
validTo: import("@sinclair/typebox").TString;
|
|
67
|
+
expired: import("@sinclair/typebox").TBoolean;
|
|
68
|
+
known: import("@sinclair/typebox").TBoolean;
|
|
69
|
+
revoked: import("@sinclair/typebox").TBoolean;
|
|
70
|
+
revocationDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
71
|
+
valid: import("@sinclair/typebox").TBoolean;
|
|
72
|
+
certificate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
73
|
+
id: import("@sinclair/typebox").TInteger;
|
|
74
|
+
creatorDn: import("@sinclair/typebox").TString;
|
|
75
|
+
subjectDn: import("@sinclair/typebox").TString;
|
|
76
|
+
userDn: import("@sinclair/typebox").TString;
|
|
77
|
+
certificate: import("@sinclair/typebox").TString;
|
|
78
|
+
hash: import("@sinclair/typebox").TString;
|
|
79
|
+
clientUid: import("@sinclair/typebox").TString;
|
|
80
|
+
issuanceDate: import("@sinclair/typebox").TString;
|
|
81
|
+
expirationDate: import("@sinclair/typebox").TString;
|
|
82
|
+
effectiveDate: import("@sinclair/typebox").TString;
|
|
83
|
+
revocationDate: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
84
|
+
token: import("@sinclair/typebox").TString;
|
|
85
|
+
serialNumber: import("@sinclair/typebox").TString;
|
|
86
|
+
}>>;
|
|
87
|
+
}>;
|
|
88
|
+
export declare const CertificateProbe: import("@sinclair/typebox").TObject<{
|
|
89
|
+
accepted: import("@sinclair/typebox").TBoolean;
|
|
90
|
+
version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
91
|
+
reason: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"revoked">, import("@sinclair/typebox").TLiteral<"rejected">, import("@sinclair/typebox").TLiteral<"tls">]>>;
|
|
92
|
+
message: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
93
|
+
}>;
|
|
60
94
|
export default class CertificateCommands extends Commands {
|
|
61
95
|
schema: {};
|
|
62
96
|
cli(): Promise<object | string>;
|
|
@@ -66,6 +100,14 @@ export default class CertificateCommands extends Commands {
|
|
|
66
100
|
* {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/getAll_1 TAK Server Docs}.
|
|
67
101
|
*/
|
|
68
102
|
list(username?: string): Promise<Static<typeof TAKList_Certificate>>;
|
|
103
|
+
/**
|
|
104
|
+
* List Active Certificates
|
|
105
|
+
*
|
|
106
|
+
* The most recently issued certificate for each Client UID / User DN pair
|
|
107
|
+
*
|
|
108
|
+
* {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/getActive TAK Server Docs}.
|
|
109
|
+
*/
|
|
110
|
+
listActive(): Promise<Static<typeof TAKList_Certificate>>;
|
|
69
111
|
/**
|
|
70
112
|
* List Revoked Certificates
|
|
71
113
|
*
|
|
@@ -84,6 +126,33 @@ export default class CertificateCommands extends Commands {
|
|
|
84
126
|
* {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/getExpired TAK Server Docs}.
|
|
85
127
|
*/
|
|
86
128
|
listExpired(): Promise<Static<typeof TAKList_Certificate>>;
|
|
129
|
+
/**
|
|
130
|
+
* Probe whether the TAK Server accepts the credentials this API instance was created with
|
|
131
|
+
*
|
|
132
|
+
* The X509 filter runs on every request and rethrows on failure, so `GET /Marti/api/version`
|
|
133
|
+
* (an anonymous, DB-free endpoint returning a short string) is the cheapest authoritative
|
|
134
|
+
* check - unlike {@link validate} it reflects the server's actual enforcement (e.g. whether
|
|
135
|
+
* `x509checkRevocation` is enabled) and requires no admin credentials. An expired client
|
|
136
|
+
* certificate is rejected during the TLS handshake and surfaces as `reason: 'tls'`.
|
|
137
|
+
*
|
|
138
|
+
* Only authentication failures are returned as a verdict - any other error (server
|
|
139
|
+
* unreachable, unexpected status) is rethrown so it is not mistaken for a rejection
|
|
140
|
+
*/
|
|
141
|
+
probe(): Promise<Static<typeof CertificateProbe>>;
|
|
142
|
+
/**
|
|
143
|
+
* Validate a PEM encoded client certificate against local expiry and the TAK Server revocation record
|
|
144
|
+
*
|
|
145
|
+
* Expiry is evaluated locally from the certificate. Revocation is looked up via the
|
|
146
|
+
* Certificate Admin API using the same SHA-256 fingerprint the TAK Server `X509Authenticator`
|
|
147
|
+
* consults - `get(hash)` first (a single cached row) falling back to the user's certificate
|
|
148
|
+
* list when the TAK Server answers 500, which is how it reports an unknown hash.
|
|
149
|
+
*
|
|
150
|
+
* Note: The TAK Server only enforces revocation when `auth.x509checkRevocation` (or
|
|
151
|
+
* `x509TokenAuth`) is enabled in CoreConfig - `revoked` reports the stored state regardless
|
|
152
|
+
*/
|
|
153
|
+
validate(pem: string, opts?: {
|
|
154
|
+
now?: Date;
|
|
155
|
+
}): Promise<Static<typeof CertificateValidation>>;
|
|
87
156
|
/**
|
|
88
157
|
* Get Single Certificate
|
|
89
158
|
*
|
|
@@ -96,6 +165,14 @@ export default class CertificateCommands extends Commands {
|
|
|
96
165
|
* {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/downloadCertificate TAK Server Docs}.
|
|
97
166
|
*/
|
|
98
167
|
download(hash: string): Promise<string>;
|
|
168
|
+
/**
|
|
169
|
+
* Download Certificates by Id
|
|
170
|
+
*
|
|
171
|
+
* Returns a ZIP archive stream containing one `{n}_{userDn}_ClientCert.pem` entry per certificate
|
|
172
|
+
*
|
|
173
|
+
* {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/downloadCertificates TAK Server Docs}.
|
|
174
|
+
*/
|
|
175
|
+
downloadIds(ids: Array<string | number>): Promise<Readable>;
|
|
99
176
|
/**
|
|
100
177
|
* Revoke Single Certificate
|
|
101
178
|
*
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import Commands from '../commands.js';
|
|
2
|
+
import Err from '@openaddresses/batch-error';
|
|
3
|
+
import { X509Certificate } from 'node:crypto';
|
|
4
|
+
import { TAKServerError } from '../utils/html-error.js';
|
|
2
5
|
import { Type } from '@sinclair/typebox';
|
|
3
6
|
import { TAKItem, TAKList } from './types.js';
|
|
4
7
|
export const Certificate = Type.Object({
|
|
@@ -18,6 +21,41 @@ export const Certificate = Type.Object({
|
|
|
18
21
|
});
|
|
19
22
|
export const TAKList_Certificate = TAKList(Certificate);
|
|
20
23
|
export const TAKItem_Certificate = TAKItem(Certificate);
|
|
24
|
+
export const CertificateValidation = Type.Object({
|
|
25
|
+
fingerprint: Type.String({ description: 'SHA-256 fingerprint of the DER encoded certificate - the TAK Server `hash`' }),
|
|
26
|
+
subject: Type.String(),
|
|
27
|
+
username: Type.String({ description: 'Common Name of the certificate subject - the TAK Server `userDn`' }),
|
|
28
|
+
validFrom: Type.String(),
|
|
29
|
+
validTo: Type.String(),
|
|
30
|
+
expired: Type.Boolean({ description: 'validTo is in the past' }),
|
|
31
|
+
known: Type.Boolean({ description: 'The TAK Server has a record for this fingerprint' }),
|
|
32
|
+
revoked: Type.Boolean({ description: 'The TAK Server record carries a revocationDate' }),
|
|
33
|
+
revocationDate: Type.Optional(Type.String({ format: 'date-time' })),
|
|
34
|
+
valid: Type.Boolean({ description: 'Neither expired nor revoked' }),
|
|
35
|
+
certificate: Type.Optional(Certificate)
|
|
36
|
+
});
|
|
37
|
+
export const CertificateProbe = Type.Object({
|
|
38
|
+
accepted: Type.Boolean({ description: 'The TAK Server authenticated the credentials' }),
|
|
39
|
+
version: Type.Optional(Type.String({ description: 'TAK Server version string when accepted' })),
|
|
40
|
+
reason: Type.Optional(Type.Union([
|
|
41
|
+
Type.Literal('revoked', { description: 'X509Authenticator raised RevokedException' }),
|
|
42
|
+
Type.Literal('rejected', { description: 'Authentication failed for another reason (BadCredentialsException)' }),
|
|
43
|
+
Type.Literal('tls', { description: 'The TLS handshake failed - typically an expired or untrusted client certificate' })
|
|
44
|
+
])),
|
|
45
|
+
message: Type.Optional(Type.String())
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* Extract the Common Name from an X509 subject string as reported by Node
|
|
49
|
+
* (newline separated `key=value` pairs)
|
|
50
|
+
*/
|
|
51
|
+
function commonName(subject) {
|
|
52
|
+
for (const line of subject.split('\n')) {
|
|
53
|
+
const [key, ...rest] = line.split('=');
|
|
54
|
+
if (key.trim() === 'CN')
|
|
55
|
+
return rest.join('=').trim();
|
|
56
|
+
}
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
21
59
|
export default class CertificateCommands extends Commands {
|
|
22
60
|
schema = {};
|
|
23
61
|
async cli() {
|
|
@@ -35,6 +73,17 @@ export default class CertificateCommands extends Commands {
|
|
|
35
73
|
}
|
|
36
74
|
return await this.api.fetch(url);
|
|
37
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* List Active Certificates
|
|
78
|
+
*
|
|
79
|
+
* The most recently issued certificate for each Client UID / User DN pair
|
|
80
|
+
*
|
|
81
|
+
* {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/getActive TAK Server Docs}.
|
|
82
|
+
*/
|
|
83
|
+
async listActive() {
|
|
84
|
+
const url = new URL('/Marti/api/certadmin/cert/active', this.api.url);
|
|
85
|
+
return await this.api.fetch(url);
|
|
86
|
+
}
|
|
38
87
|
/**
|
|
39
88
|
* List Revoked Certificates
|
|
40
89
|
*
|
|
@@ -62,6 +111,93 @@ export default class CertificateCommands extends Commands {
|
|
|
62
111
|
const url = new URL('/Marti/api/certadmin/cert/expired', this.api.url);
|
|
63
112
|
return await this.api.fetch(url);
|
|
64
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Probe whether the TAK Server accepts the credentials this API instance was created with
|
|
116
|
+
*
|
|
117
|
+
* The X509 filter runs on every request and rethrows on failure, so `GET /Marti/api/version`
|
|
118
|
+
* (an anonymous, DB-free endpoint returning a short string) is the cheapest authoritative
|
|
119
|
+
* check - unlike {@link validate} it reflects the server's actual enforcement (e.g. whether
|
|
120
|
+
* `x509checkRevocation` is enabled) and requires no admin credentials. An expired client
|
|
121
|
+
* certificate is rejected during the TLS handshake and surfaces as `reason: 'tls'`.
|
|
122
|
+
*
|
|
123
|
+
* Only authentication failures are returned as a verdict - any other error (server
|
|
124
|
+
* unreachable, unexpected status) is rethrown so it is not mistaken for a rejection
|
|
125
|
+
*/
|
|
126
|
+
async probe() {
|
|
127
|
+
const url = new URL('/Marti/api/version', this.api.url);
|
|
128
|
+
try {
|
|
129
|
+
const version = String(await this.api.fetch(url)).trim();
|
|
130
|
+
return { accepted: true, version };
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
134
|
+
const details = err instanceof TAKServerError ? err.details : '';
|
|
135
|
+
const haystack = `${message}\n${details}`;
|
|
136
|
+
let reason;
|
|
137
|
+
if (/RevokedException|revoked certificate/i.test(haystack)) {
|
|
138
|
+
reason = 'revoked';
|
|
139
|
+
}
|
|
140
|
+
else if (/BadCredentialsException|AuthenticationException|TAK Server authentication/i.test(haystack)) {
|
|
141
|
+
reason = 'rejected';
|
|
142
|
+
}
|
|
143
|
+
else if (err instanceof Err && err.status === 400 && !(err instanceof TAKServerError)
|
|
144
|
+
&& /certificate|handshake|alert|EPROTO|ECONNRESET|SSL|TLS/i.test(haystack)) {
|
|
145
|
+
reason = 'tls';
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
throw err;
|
|
149
|
+
}
|
|
150
|
+
return { accepted: false, reason, message };
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Validate a PEM encoded client certificate against local expiry and the TAK Server revocation record
|
|
155
|
+
*
|
|
156
|
+
* Expiry is evaluated locally from the certificate. Revocation is looked up via the
|
|
157
|
+
* Certificate Admin API using the same SHA-256 fingerprint the TAK Server `X509Authenticator`
|
|
158
|
+
* consults - `get(hash)` first (a single cached row) falling back to the user's certificate
|
|
159
|
+
* list when the TAK Server answers 500, which is how it reports an unknown hash.
|
|
160
|
+
*
|
|
161
|
+
* Note: The TAK Server only enforces revocation when `auth.x509checkRevocation` (or
|
|
162
|
+
* `x509TokenAuth`) is enabled in CoreConfig - `revoked` reports the stored state regardless
|
|
163
|
+
*/
|
|
164
|
+
async validate(pem, opts = {}) {
|
|
165
|
+
const x509 = new X509Certificate(pem);
|
|
166
|
+
const now = opts.now ?? new Date();
|
|
167
|
+
const username = commonName(x509.subject);
|
|
168
|
+
if (!username)
|
|
169
|
+
throw new Error('Certificate subject does not contain a Common Name');
|
|
170
|
+
const fingerprint = x509.fingerprint256.toUpperCase();
|
|
171
|
+
let certificate;
|
|
172
|
+
try {
|
|
173
|
+
// Single cached row lookup - the same query X509Authenticator performs
|
|
174
|
+
certificate = (await this.get(fingerprint)).data;
|
|
175
|
+
}
|
|
176
|
+
catch (err) {
|
|
177
|
+
// The TAK Server reports an unknown hash via sendError(500), which is
|
|
178
|
+
// indistinguishable from a genuine failure - disambiguate against the
|
|
179
|
+
// (uncached, but authoritative) list of the user's certificates
|
|
180
|
+
if (!(err instanceof Err) || err.status < 500)
|
|
181
|
+
throw err;
|
|
182
|
+
certificate = (await this.list(username)).data
|
|
183
|
+
.find((cert) => cert.hash.toUpperCase() === fingerprint);
|
|
184
|
+
}
|
|
185
|
+
const expired = Date.parse(x509.validTo) < now.getTime();
|
|
186
|
+
const revoked = !!certificate?.revocationDate;
|
|
187
|
+
return {
|
|
188
|
+
fingerprint,
|
|
189
|
+
subject: x509.subject,
|
|
190
|
+
username,
|
|
191
|
+
validFrom: x509.validFrom,
|
|
192
|
+
validTo: x509.validTo,
|
|
193
|
+
expired,
|
|
194
|
+
known: !!certificate,
|
|
195
|
+
revoked,
|
|
196
|
+
revocationDate: certificate?.revocationDate,
|
|
197
|
+
valid: !expired && !revoked,
|
|
198
|
+
certificate
|
|
199
|
+
};
|
|
200
|
+
}
|
|
65
201
|
/**
|
|
66
202
|
* Get Single Certificate
|
|
67
203
|
*
|
|
@@ -82,6 +218,29 @@ export default class CertificateCommands extends Commands {
|
|
|
82
218
|
method: 'GET',
|
|
83
219
|
});
|
|
84
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* Download Certificates by Id
|
|
223
|
+
*
|
|
224
|
+
* Returns a ZIP archive stream containing one `{n}_{userDn}_ClientCert.pem` entry per certificate
|
|
225
|
+
*
|
|
226
|
+
* {@link https://docs.tak.gov/api/takserver/redoc#tag/cert-manager-admin-api/operation/downloadCertificates TAK Server Docs}.
|
|
227
|
+
*/
|
|
228
|
+
async downloadIds(ids) {
|
|
229
|
+
if (ids.length === 0) {
|
|
230
|
+
throw new Error('At least one ID must be provided');
|
|
231
|
+
}
|
|
232
|
+
const url = new URL(`/Marti/api/certadmin/cert/download/${ids.map((id) => encodeURIComponent(String(id))).join(',')}`, this.api.url);
|
|
233
|
+
const res = await this.api.fetch(url, {
|
|
234
|
+
method: 'GET'
|
|
235
|
+
}, true);
|
|
236
|
+
// The raw fetch path skips status validation - without this check a
|
|
237
|
+
// TAK Server error page would be streamed as if it were the ZIP archive
|
|
238
|
+
if (res.status < 200 || res.status >= 400) {
|
|
239
|
+
const body = await res.text().catch(() => '');
|
|
240
|
+
throw new Err(res.status, null, body || `Status Code: ${res.status}`);
|
|
241
|
+
}
|
|
242
|
+
return res.body;
|
|
243
|
+
}
|
|
85
244
|
/**
|
|
86
245
|
* Revoke Single Certificate
|
|
87
246
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certificate.js","sourceRoot":"","sources":["../../../lib/api/certificate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"certificate.js","sourceRoot":"","sources":["../../../lib/api/certificate.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE;IAClB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;IACxB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;IACxB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;IAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAClD,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACpD,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACnD,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;IACpB,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE;CAC9B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7C,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,4EAA4E,EAAE,CAAC;IACvH,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;IACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kEAAkE,EAAE,CAAC;IAC1G,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE;IACxB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;IACtB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,wBAAwB,EAAE,CAAC;IAChE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,kDAAkD,EAAE,CAAC;IACxF,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,gDAAgD,EAAE,CAAC;IACxF,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACnE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IACnE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;CAC1C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;IACvF,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,yCAAyC,EAAE,CAAC,CAAC;IAC/F,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;QACrF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,WAAW,EAAE,oEAAoE,EAAE,CAAC;QAC/G,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,iFAAiF,EAAE,CAAC;KAC1H,CAAC,CAAC;IACH,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;CACxC,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAS,UAAU,CAAC,OAAe;IAC/B,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,QAAQ;IACrD,MAAM,GAAG,EAAE,CAAA;IAEX,KAAK,CAAC,GAAG;QACL,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CACN,QAAiB;QAEjB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,2BAA2B,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE/D,IAAI,QAAQ,EAAE,CAAC;YACX,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAuC,CAAC;IAC3E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU;QACZ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,kCAAkC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEtE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAuC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACb,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,mCAAmC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAuC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY;QACd,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oCAAoC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAExE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAuC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW;QACb,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,mCAAmC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAuC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,KAAK;QACP,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAExD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAEzD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,GAAG,YAAY,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,GAAG,OAAO,KAAK,OAAO,EAAE,CAAC;YAE1C,IAAI,MAAiD,CAAC;YACtD,IAAI,uCAAuC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,MAAM,GAAG,SAAS,CAAC;YACvB,CAAC;iBAAM,IAAI,4EAA4E,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrG,MAAM,GAAG,UAAU,CAAC;YACxB,CAAC;iBAAM,IACH,GAAG,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,YAAY,cAAc,CAAC;mBACzE,wDAAwD,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC5E,CAAC;gBACC,MAAM,GAAG,KAAK,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,CAAC;YACd,CAAC;YAED,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QAChD,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,QAAQ,CACV,GAAW,EACX,OAEI,EAAE;QAEN,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QAEnC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAErF,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;QAEtD,IAAI,WAAmD,CAAC;QACxD,IAAI,CAAC;YACD,uEAAuE;YACvE,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QACrD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,sEAAsE;YACtE,sEAAsE;YACtE,gEAAgE;YAChE,IAAI,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG;gBAAE,MAAM,GAAG,CAAC;YAEzD,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;iBACzC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,EAAE,cAAc,CAAC;QAE9C,OAAO;YACH,WAAW;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO;YACP,KAAK,EAAE,CAAC,CAAC,WAAW;YACpB,OAAO;YACP,cAAc,EAAE,WAAW,EAAE,cAAc;YAC3C,KAAK,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO;YAC3B,WAAW;SACd,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG,CACL,IAAY;QAEZ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,6BAA6B,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAuC,CAAC;IAC3E,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ,CACV,IAAY;QAEZ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,6BAA6B,IAAI,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEhF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,KAAK;SAChB,CAAW,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CACb,GAA2B;QAE3B,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,sCAAsC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAErI,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YAClC,MAAM,EAAE,KAAK;SAChB,EAAE,IAAI,CAAC,CAAC;QAET,oEAAoE;QACpE,wEAAwE;QACxE,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,IAAI,gBAAgB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CACR,IAAY;QAEZ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,6BAA6B,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvE,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,QAAQ;SACnB,CAAuC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CACX,GAAa;QAEb,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,yEAAyE;YACzE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oCAAoC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEhF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,QAAQ;SACnB,CAAuC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,CACX,GAAa;QAEb,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,yEAAyE;YACzE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oCAAoC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEhF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE;YAC7B,MAAM,EAAE,QAAQ;SACnB,CAAuC,CAAC;IAC7C,CAAC;CACJ"}
|
package/dist/lib/api.js
CHANGED
|
@@ -21,6 +21,7 @@ import Subscription from './api/subscriptions.js';
|
|
|
21
21
|
import Video from './api/video.js';
|
|
22
22
|
import Export from './api/export.js';
|
|
23
23
|
import Err from '@openaddresses/batch-error';
|
|
24
|
+
import { TAKServerError, isHTML } from './utils/html-error.js';
|
|
24
25
|
function formatFetchError(err) {
|
|
25
26
|
if (!(err instanceof Error))
|
|
26
27
|
return String(err);
|
|
@@ -184,6 +185,9 @@ export default class TAKAPI {
|
|
|
184
185
|
console.error(err);
|
|
185
186
|
bdy = null;
|
|
186
187
|
}
|
|
188
|
+
// TAK Server returns HTML error pages
|
|
189
|
+
if (isHTML(bdy))
|
|
190
|
+
throw new TAKServerError(res.status, bdy);
|
|
187
191
|
throw new Err(res.status, null, bdy || `Status Code: ${res.status}`);
|
|
188
192
|
}
|
|
189
193
|
if (res.headers.get('content-type') === 'application/json') {
|
|
@@ -194,7 +198,7 @@ export default class TAKAPI {
|
|
|
194
198
|
}
|
|
195
199
|
}
|
|
196
200
|
catch (err) {
|
|
197
|
-
if (err instanceof
|
|
201
|
+
if (err instanceof Err)
|
|
198
202
|
throw err;
|
|
199
203
|
throw new Err(400, null, formatFetchError(err));
|
|
200
204
|
}
|
package/dist/lib/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../lib/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,OAAO,EAAE,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,aAAa,EAAE,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,GAAG,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../lib/api.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import Err from '@openaddresses/batch-error';
|
|
2
|
+
/**
|
|
3
|
+
* TAK Server (Tomcat) returns HTML "Exception Report" pages on failure.
|
|
4
|
+
* Parse them into a human readable message + plain-text details
|
|
5
|
+
* so clients don't render raw HTML.
|
|
6
|
+
*/
|
|
7
|
+
export interface HTMLErrorDetails {
|
|
8
|
+
/** <title> or <h1> */
|
|
9
|
+
title?: string;
|
|
10
|
+
/** <p><b>Label</b> value</p> pairs - ie: Type, Message, Description */
|
|
11
|
+
fields: Record<string, string>;
|
|
12
|
+
/** <pre> stack traces */
|
|
13
|
+
exception?: string;
|
|
14
|
+
/** Visible text fallback */
|
|
15
|
+
text: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function isHTML(body: unknown): body is string;
|
|
18
|
+
/** Returns null if body is not HTML */
|
|
19
|
+
export declare function parseHTMLError(body: unknown): HTMLErrorDetails | null;
|
|
20
|
+
/** Most useful human readable line from the page */
|
|
21
|
+
export declare function summarizeHTMLError(details: HTMLErrorDetails, status?: number): string;
|
|
22
|
+
/** Plain-text breakdown for an "Advanced" details pane */
|
|
23
|
+
export declare function formatHTMLError(details: HTMLErrorDetails): string;
|
|
24
|
+
/**
|
|
25
|
+
* TAK Server HTML error page - `safe` is the summary, `details` the full breakdown
|
|
26
|
+
*/
|
|
27
|
+
export declare class TAKServerError extends Err {
|
|
28
|
+
details: string;
|
|
29
|
+
html: string;
|
|
30
|
+
parsed: HTMLErrorDetails;
|
|
31
|
+
constructor(status: number, html: string, parsed?: HTMLErrorDetails);
|
|
32
|
+
}
|