@sonisoft/now-sdk-ext-core 6.7.0 → 6.9.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.
Files changed (57) hide show
  1. package/dist/comm/http/FormHtmlParser.d.ts +2 -2
  2. package/dist/comm/http/FormHtmlParser.js +26 -9
  3. package/dist/comm/http/FormHtmlParser.js.map +1 -1
  4. package/dist/comm/http/FormRecordWriter.d.ts +30 -16
  5. package/dist/comm/http/FormRecordWriter.js +153 -40
  6. package/dist/comm/http/FormRecordWriter.js.map +1 -1
  7. package/dist/comm/http/HTTPRequest.d.ts +4 -0
  8. package/dist/comm/http/RequestHandler.d.ts +1 -0
  9. package/dist/comm/http/RequestHandler.js +34 -22
  10. package/dist/comm/http/RequestHandler.js.map +1 -1
  11. package/dist/comm/http/internal/FormTransportModels.d.ts +26 -0
  12. package/dist/comm/http/internal/FormTransportModels.js +2 -0
  13. package/dist/comm/http/internal/FormTransportModels.js.map +1 -0
  14. package/dist/index.d.ts +8 -1
  15. package/dist/index.js +8 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/policy/ScanScript.js +3 -0
  18. package/dist/policy/ScanScript.js.map +1 -1
  19. package/dist/sn/metadata/FormLayoutWriter.d.ts +22 -0
  20. package/dist/sn/metadata/FormLayoutWriter.js +237 -0
  21. package/dist/sn/metadata/FormLayoutWriter.js.map +1 -0
  22. package/dist/sn/metadata/MetadataFormWriter.d.ts +12 -0
  23. package/dist/sn/metadata/MetadataFormWriter.js +274 -0
  24. package/dist/sn/metadata/MetadataFormWriter.js.map +1 -0
  25. package/dist/sn/metadata/MetadataModels.d.ts +102 -0
  26. package/dist/sn/metadata/MetadataModels.js +2 -0
  27. package/dist/sn/metadata/MetadataModels.js.map +1 -0
  28. package/dist/sn/metadata/MetadataScopeError.d.ts +17 -0
  29. package/dist/sn/metadata/MetadataScopeError.js +32 -0
  30. package/dist/sn/metadata/MetadataScopeError.js.map +1 -0
  31. package/dist/sn/metadata/MetadataVerificationError.d.ts +11 -0
  32. package/dist/sn/metadata/MetadataVerificationError.js +20 -0
  33. package/dist/sn/metadata/MetadataVerificationError.js.map +1 -0
  34. package/dist/sn/metadata/internal/MetadataPreferences.d.ts +12 -0
  35. package/dist/sn/metadata/internal/MetadataPreferences.js +27 -0
  36. package/dist/sn/metadata/internal/MetadataPreferences.js.map +1 -0
  37. package/dist/sn/metadata/internal/MetadataReader.d.ts +9 -0
  38. package/dist/sn/metadata/internal/MetadataReader.js +55 -0
  39. package/dist/sn/metadata/internal/MetadataReader.js.map +1 -0
  40. package/dist/sn/metadata/internal/MetadataScope.d.ts +12 -0
  41. package/dist/sn/metadata/internal/MetadataScope.js +48 -0
  42. package/dist/sn/metadata/internal/MetadataScope.js.map +1 -0
  43. package/dist/sn/metadata/internal/MetadataUpdateNames.d.ts +8 -0
  44. package/dist/sn/metadata/internal/MetadataUpdateNames.js +28 -0
  45. package/dist/sn/metadata/internal/MetadataUpdateNames.js.map +1 -0
  46. package/dist/sn/metadata/internal/SlushbucketPage.d.ts +20 -0
  47. package/dist/sn/metadata/internal/SlushbucketPage.js +67 -0
  48. package/dist/sn/metadata/internal/SlushbucketPage.js.map +1 -0
  49. package/dist/sn/updateset/UpdateSetManager.js +30 -3
  50. package/dist/sn/updateset/UpdateSetManager.js.map +1 -1
  51. package/dist/sn/updateset/WorkingSetManager.d.ts +53 -0
  52. package/dist/sn/updateset/WorkingSetManager.js +275 -0
  53. package/dist/sn/updateset/WorkingSetManager.js.map +1 -0
  54. package/dist/sn/updateset/WorkingSetModels.d.ts +77 -0
  55. package/dist/sn/updateset/WorkingSetModels.js +12 -0
  56. package/dist/sn/updateset/WorkingSetModels.js.map +1 -0
  57. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { FormSnapshot } from "./FormRecordModels.js";
1
+ import type { FormTransportLoadOptions, FormTransportSnapshot } from "./internal/FormTransportModels.js";
2
2
  /**
3
3
  * Parse a form page.
4
4
  *
@@ -6,7 +6,7 @@ import { FormSnapshot } from "./FormRecordModels.js";
6
6
  * @param table The table the form belongs to
7
7
  * @throws Error when the page is not a form for `table` (e.g. a login page or an error page)
8
8
  */
9
- export declare function parseFormHtml(html: string, table: string): FormSnapshot;
9
+ export declare function parseFormHtml(html: string, table: string, options?: FormTransportLoadOptions): FormTransportSnapshot;
10
10
  /**
11
11
  * Split `<table>.<varField>.var__m_<model>.<element>` into its parts.
12
12
  * Returns undefined for ordinary (possibly dot-walked) field names.
@@ -18,7 +18,9 @@ const TOKENS = new Set([
18
18
  * @param table The table the form belongs to
19
19
  * @throws Error when the page is not a form for `table` (e.g. a login page or an error page)
20
20
  */
21
- export function parseFormHtml(html, table) {
21
+ export function parseFormHtml(html, table, options = {}) {
22
+ const renderedInputs = {};
23
+ const pageTokens = [];
22
24
  const prefix = `${table}.`;
23
25
  const tokens = {};
24
26
  const actions = {};
@@ -39,6 +41,10 @@ export function parseFormHtml(html, table) {
39
41
  target = attrs.value;
40
42
  if (TOKENS.has(name))
41
43
  tokens[name] = attrs.value ?? "";
44
+ if (options.captureRenderedInputs && name)
45
+ renderedInputs[name] = attrs.value ?? "";
46
+ if (options.tokenSource === "page" && name === "sysparm_ck")
47
+ pageTokens.push(attrs.value ?? "");
42
48
  if (!keep(name))
43
49
  return;
44
50
  const type = (attrs.type || "text").toLowerCase();
@@ -50,11 +56,11 @@ export function parseFormHtml(html, table) {
50
56
  return;
51
57
  }
52
58
  case "textarea":
53
- if (keep(attrs.name))
59
+ if (keep(attrs.name) || (options.captureRenderedInputs && attrs.name))
54
60
  textarea = { name: attrs.name, text: "" };
55
61
  return;
56
62
  case "select":
57
- if (keep(attrs.name))
63
+ if (keep(attrs.name) || (options.captureRenderedInputs && attrs.name))
58
64
  select = { name: attrs.name, options: [] };
59
65
  return;
60
66
  case "option":
@@ -85,7 +91,10 @@ export function parseFormHtml(html, table) {
85
91
  },
86
92
  onclosetag(tag) {
87
93
  if (tag === "textarea" && textarea) {
88
- controls.set(textarea.name, { name: textarea.name, value: textarea.text });
94
+ if (options.captureRenderedInputs)
95
+ renderedInputs[textarea.name] = textarea.text;
96
+ if (keep(textarea.name))
97
+ controls.set(textarea.name, { name: textarea.name, value: textarea.text });
89
98
  textarea = null;
90
99
  }
91
100
  else if (tag === "option" && select && option) {
@@ -94,11 +103,14 @@ export function parseFormHtml(html, table) {
94
103
  }
95
104
  else if (tag === "select" && select) {
96
105
  const chosen = select.options.find(o => o.selected) ?? select.options[0];
97
- controls.set(select.name, {
98
- name: select.name,
99
- value: chosen ? chosen.value : "",
100
- choices: select.options.map(o => ({ value: o.value, label: o.label })),
101
- });
106
+ if (options.captureRenderedInputs)
107
+ renderedInputs[select.name] = chosen?.value ?? "";
108
+ if (keep(select.name))
109
+ controls.set(select.name, {
110
+ name: select.name,
111
+ value: chosen ? chosen.value : "",
112
+ choices: select.options.map(o => ({ value: o.value, label: o.label })),
113
+ });
102
114
  select = null;
103
115
  }
104
116
  },
@@ -123,6 +135,9 @@ export function parseFormHtml(html, table) {
123
135
  else
124
136
  fields[control.name] = control;
125
137
  }
138
+ if (options.tokenSource === "page" && (!pageTokens.length || pageTokens.some(token => !token || token !== pageTokens[0]))) {
139
+ throw new Error("csrf_token_unavailable");
140
+ }
126
141
  const sysId = tokens.sys_uniqueValue;
127
142
  return {
128
143
  table,
@@ -134,6 +149,8 @@ export function parseFormHtml(html, table) {
134
149
  actions,
135
150
  fields,
136
151
  variables,
152
+ ...(options.captureRenderedInputs ? { renderedInputs } : {}),
153
+ ...(options.tokenSource === "page" ? { pageToken: pageTokens[0] } : {}),
137
154
  };
138
155
  }
139
156
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"FormHtmlParser.js","sourceRoot":"","sources":["../../../src/comm/http/FormHtmlParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormHtmlParser.js","sourceRoot":"","sources":["../../../src/comm/http/FormHtmlParser.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { FormTransportLoadOptions, FormTransportSubmitOptions, FormTransportSnapshot, FormTransportResult } from "./internal/FormTransportModels.js";
1
2
  import { ServiceNowInstance } from "../../sn/ServiceNowInstance.js";
2
3
  import { FormControl, FormDurationInput, FormLoadOptions, FormSnapshot, FormValueInput, FormWriteOptions, FormWriteResult } from "./FormRecordModels.js";
3
4
  /**
@@ -19,7 +20,7 @@ import { FormControl, FormDurationInput, FormLoadOptions, FormSnapshot, FormValu
19
20
  * Only the values you pass are posted. The instance fills in everything else the same
20
21
  * way the form would: variable defaults on insert, current values on update.
21
22
  */
22
- export declare class FormRecordWriter {
23
+ declare class FormTransport {
23
24
  private _logger;
24
25
  private _instance;
25
26
  constructor(instance: ServiceNowInstance);
@@ -31,6 +32,33 @@ export declare class FormRecordWriter {
31
32
  * @param options View and, for new records, the initial query
32
33
  * @throws Error when the page is not the expected form, or the record does not exist
33
34
  */
35
+ loadForm(table: string, sysId?: string, options?: FormTransportLoadOptions): Promise<FormTransportSnapshot>;
36
+ /**
37
+ * Submit a form you already loaded. Use this to inspect the form's variables (names,
38
+ * types, choices) before deciding what to write.
39
+ */
40
+ submit(snapshot: FormTransportSnapshot, action: string, options?: FormTransportSubmitOptions): Promise<FormTransportResult>;
41
+ /** Validate caller values without submitting the form. */
42
+ validate(snapshot: FormSnapshot, options: FormWriteOptions): void;
43
+ /**
44
+ * Turn caller values into posted form parameters, validating variables against the
45
+ * form so a misspelt element fails loudly instead of being silently ignored.
46
+ */
47
+ private buildFields;
48
+ private variablesFor;
49
+ requireExists(table: string, sysId: string): Promise<void>;
50
+ private guardedLanding;
51
+ private request;
52
+ private requireTable;
53
+ private text;
54
+ private sanitizeError;
55
+ }
56
+ /** Shared internal transport. Excluded from the package barrel. */
57
+ export declare function createFormTransport(instance: ServiceNowInstance): FormTransport;
58
+ /** Write ordinary records through classic forms with the established defaults. */
59
+ export declare class FormRecordWriter {
60
+ private _transport;
61
+ constructor(instance: ServiceNowInstance);
34
62
  loadForm(table: string, sysId?: string, options?: FormLoadOptions): Promise<FormSnapshot>;
35
63
  /**
36
64
  * Insert a record through its form.
@@ -53,22 +81,7 @@ export declare class FormRecordWriter {
53
81
  * @throws FormSubmitError when the instance does not accept the submit
54
82
  */
55
83
  update(table: string, sysId: string, options?: FormWriteOptions): Promise<FormWriteResult>;
56
- /**
57
- * Submit a form you already loaded. Use this to inspect the form's variables (names,
58
- * types, choices) before deciding what to write.
59
- */
60
84
  submit(snapshot: FormSnapshot, action: "sysverb_insert" | "sysverb_update", options?: FormWriteOptions): Promise<FormWriteResult>;
61
- /**
62
- * Turn caller values into posted form parameters, validating variables against the
63
- * form so a misspelt element fails loudly instead of being silently ignored.
64
- */
65
- private buildFields;
66
- private variablesFor;
67
- private requireExists;
68
- private request;
69
- private requireTable;
70
- private text;
71
- private sanitizeError;
72
85
  }
73
86
  /**
74
87
  * Encode a caller value the way the form posts it.
@@ -83,3 +96,4 @@ export declare function encodeFormValue(value: FormValueInput, control?: FormCon
83
96
  * converted here.
84
97
  */
85
98
  export declare function encodeDuration(value: number | string | FormDurationInput): string;
99
+ export {};
@@ -1,3 +1,4 @@
1
+ import { isPolicyRefusal } from "../../policy/PolicyRefusal.js";
1
2
  import { InvalidParameterException } from "../../exception/InvalidParameterException.js";
2
3
  import { FormSubmitError } from "../../exception/FormSubmitError.js";
3
4
  import { READ_ONLY } from "../../policy/PolicyTypes.js";
@@ -9,6 +10,19 @@ const NAME = /^[a-z0-9_]+$/i;
9
10
  const SYS_ID = /^[0-9a-f]{32}$/i;
10
11
  /** Where a successful submit lands. Small, and it echoes back the action and sys_id. */
11
12
  const GOTO_URL = "modal_dialog_form_response.do?sysparm_returned_action=$action&sysparm_returned_sysid=$sys_id";
13
+ /** The path a form request was redirected to, without its query: identifies the page, never values. */
14
+ function redirectPath(headers) {
15
+ const location = headers?.location;
16
+ if (typeof location !== "string")
17
+ return undefined;
18
+ try {
19
+ const path = new URL(location, "https://instance.invalid").pathname;
20
+ return /^\/[a-z0-9_./-]{1,120}$/i.test(path) ? path : undefined;
21
+ }
22
+ catch {
23
+ return undefined;
24
+ }
25
+ }
12
26
  /**
13
27
  * Writes a record through its classic UI form (`/<table>.do`), exactly as a browser does:
14
28
  * load the form, then submit it with the form's tokens.
@@ -28,7 +42,7 @@ const GOTO_URL = "modal_dialog_form_response.do?sysparm_returned_action=$action&
28
42
  * Only the values you pass are posted. The instance fills in everything else the same
29
43
  * way the form would: variable defaults on insert, current values on update.
30
44
  */
31
- export class FormRecordWriter {
45
+ class FormTransport {
32
46
  _logger = new Logger("FormRecordWriter");
33
47
  _instance;
34
48
  constructor(instance) {
@@ -47,7 +61,7 @@ export class FormRecordWriter {
47
61
  if (sysId !== "-1" && !SYS_ID.test(sysId)) {
48
62
  throw new InvalidParameterException("sysId must be -1 or a 32-character sys_id");
49
63
  }
50
- const query = { sys_id: sysId };
64
+ const query = { ...options.query, sys_id: sysId };
51
65
  if (options.view)
52
66
  query.sysparm_view = options.view;
53
67
  if (options.initialQuery)
@@ -55,81 +69,73 @@ export class FormRecordWriter {
55
69
  try {
56
70
  const response = await this.request().get({
57
71
  method: "GET", path: `/${table}.do`, headers: null, body: null, query,
58
- requires: READ_ONLY, responseFormat: "text",
72
+ requires: READ_ONLY, responseFormat: "text", sensitive: options.sensitive,
73
+ ...(options.sensitive ? { redirect: "manual" } : {}),
59
74
  });
60
- const snapshot = parseFormHtml(this.text(response.data), table);
75
+ if (options.sensitive && response.status >= 300 && response.status < 400) {
76
+ throw Object.assign(new Error("form_redirect"), { redirectPath: redirectPath(response.headers) });
77
+ }
78
+ const snapshot = parseFormHtml(this.text(response.data), table, options);
61
79
  if (sysId !== "-1" && (snapshot.isNewRecord || snapshot.sysId !== sysId)) {
62
80
  throw new Error(`Record ${table}/${sysId} was not found or is not readable`);
63
81
  }
64
82
  return snapshot;
65
83
  }
66
84
  catch (error) {
85
+ if (options.sensitive && !isPolicyRefusal(error) && !(error instanceof FormSubmitError)) {
86
+ if (error instanceof Error && error.message === "form_redirect")
87
+ throw error;
88
+ const code = error instanceof Error && ["csrf_token_unavailable", "csrf_rejected"].includes(error.message) ? error.message : "Form request failed";
89
+ throw new Error(code);
90
+ }
67
91
  throw this.sanitizeError(error);
68
92
  }
69
93
  }
70
- /**
71
- * Insert a record through its form.
72
- *
73
- * @param table Table name
74
- * @param options Field values, variable values, view and initial query
75
- * @returns The new record's sys_id and any info messages
76
- * @throws InvalidParameterException for unknown variables or invalid choice values
77
- * @throws FormSubmitError when the instance does not accept the submit
78
- */
79
- async insert(table, options = {}) {
80
- const snapshot = await this.loadForm(table, "-1", options);
81
- const result = await this.submit(snapshot, "sysverb_insert", options);
82
- await this.requireExists(table, result.sysId);
83
- return result;
84
- }
85
- /**
86
- * Update a record through its form. Fields and variables you do not pass keep their
87
- * current values.
88
- *
89
- * @param table Table name
90
- * @param sysId Record sys_id
91
- * @param options Field values, variable values and view
92
- * @throws InvalidParameterException for unknown variables or invalid choice values
93
- * @throws FormSubmitError when the instance does not accept the submit
94
- */
95
- async update(table, sysId, options = {}) {
96
- if (!SYS_ID.test(sysId ?? ""))
97
- throw new InvalidParameterException("sysId must be a 32-character sys_id");
98
- const snapshot = await this.loadForm(table, sysId, { view: options.view });
99
- return await this.submit(snapshot, "sysverb_update", options);
100
- }
101
94
  /**
102
95
  * Submit a form you already loaded. Use this to inspect the form's variables (names,
103
96
  * types, choices) before deciding what to write.
104
97
  */
105
98
  async submit(snapshot, action, options = {}) {
106
99
  const table = snapshot.table;
107
- const posted = this.buildFields(snapshot, options);
100
+ let posted;
101
+ try {
102
+ posted = this.buildFields(snapshot, options);
103
+ }
104
+ catch (error) {
105
+ if (options.sensitive)
106
+ throw new InvalidParameterException("Invalid form field or variable value");
107
+ throw error;
108
+ }
108
109
  try {
109
110
  const session = (await this.request().getUserSession());
110
- if (!session?.userToken) {
111
+ if (options.tokenSource === "page" ? !snapshot.pageToken : !session?.userToken) {
111
112
  throw new Error("An authenticated ServiceNow session token is required to submit a form");
112
113
  }
113
114
  const fields = {
115
+ ...(options.postAllRenderedInputs ? snapshot.renderedInputs : {}),
114
116
  sys_target: table,
115
117
  sys_uniqueName: "sys_id",
116
118
  sys_uniqueValue: snapshot.sysId,
117
119
  sys_row: snapshot.isNewRecord ? "-1" : "0",
118
120
  sys_modCount: snapshot.modCount,
119
121
  onLoad_sys_updated_on: snapshot.updatedOn,
120
- sys_action: snapshot.actions[action] ?? action,
121
- sysparm_ck: session.userToken,
122
+ sys_action: options.actionValue ?? snapshot.actions[action] ?? action,
123
+ sysparm_ck: options.tokenSource === "page" ? snapshot.pageToken : session.userToken,
122
124
  sysparm_encoded_record: snapshot.encodedRecord,
123
125
  sysparm_goto_url: GOTO_URL,
124
126
  isFormPage: "true",
125
127
  ...(options.view ? { sysparm_view: options.view } : {}),
126
128
  ...posted,
129
+ ...options.extraFields,
127
130
  };
128
131
  this._logger.info(`Submitting ${action} for ${table}/${snapshot.sysId}`);
129
132
  const response = await this.request().post({
130
133
  method: "POST", path: `/${table}.do`, headers: null, query: null, body: null,
131
- fields, responseFormat: "text",
134
+ fields, responseFormat: "text", redirect: options.redirect, sensitive: options.sensitive,
132
135
  });
136
+ if (options.landing === "guarded") {
137
+ return await this.guardedLanding(snapshot, action, response.status, response.headers, this.text(response.data), fields);
138
+ }
133
139
  const html = this.text(response.data);
134
140
  const accepted = parseFormResponse(html);
135
141
  const messages = parseFormMessages(html);
@@ -139,9 +145,22 @@ export class FormRecordWriter {
139
145
  return { sysId: accepted.sysId, action, messages: messages.info };
140
146
  }
141
147
  catch (error) {
148
+ if (options.sensitive && !isPolicyRefusal(error) && !(error instanceof FormSubmitError)) {
149
+ const code = error instanceof Error && ["csrf_token_unavailable", "csrf_rejected"].includes(error.message) ? error.message : "Form request failed";
150
+ throw new Error(code);
151
+ }
142
152
  throw this.sanitizeError(error);
143
153
  }
144
154
  }
155
+ /** Validate caller values without submitting the form. */
156
+ validate(snapshot, options) {
157
+ try {
158
+ this.buildFields(snapshot, options);
159
+ }
160
+ catch {
161
+ throw new InvalidParameterException("Invalid form field or variable value");
162
+ }
163
+ }
145
164
  /**
146
165
  * Turn caller values into posted form parameters, validating variables against the
147
166
  * form so a misspelt element fails loudly instead of being silently ignored.
@@ -201,6 +220,54 @@ export class FormRecordWriter {
201
220
  throw new FormSubmitError(table, `The ${table} form reported an insert, but record ${sysId} does not exist`);
202
221
  }
203
222
  }
223
+ async guardedLanding(snapshot, action, status, headers, html, fields) {
224
+ const session = await this.request().getUserSession();
225
+ const withheld = new Set([...Object.values(fields), session.userToken ?? "",
226
+ ...(session.cookie?.getCookiesSync(String(session.instanceUrl)) ?? []).map(cookie => cookie.value)]);
227
+ for (const value of [...withheld])
228
+ for (const line of value.split(/[\r\n]+/))
229
+ if (line)
230
+ withheld.add(line);
231
+ const clean = (text) => {
232
+ text = text.replace(/\s+/g, " ").trim();
233
+ for (const value of [...withheld].filter(Boolean).sort((a, b) => b.length - a.length)) {
234
+ text = text.split(value.replace(/\s+/g, " ").trim()).join("[redacted]");
235
+ text = text.split(encodeURIComponent(value)).join("[redacted]");
236
+ }
237
+ text = redactMessage(text).replace(/https?:\/\/\S+/g, "[url]").replace(/[A-Za-z0-9_+/=.-]{24,}/g, "[redacted]");
238
+ return /(?:Class\.create|\.prototype|function\s*\(|[{};]|<script)/i.test(text)
239
+ ? "[message withheld: script content]" : text.slice(0, 200);
240
+ };
241
+ const messages = parseFormMessages(html);
242
+ const location = headers.location ?? headers.Location;
243
+ if (status >= 300 && status < 400 && location) {
244
+ const origin = new URL(String(session.instanceUrl));
245
+ const url = new URL(location, origin);
246
+ if (url.pathname === "/security_interceptor.do")
247
+ throw new Error("csrf_rejected");
248
+ const allowed = new Set(["sys_id", "sysparm_transaction_scope", "sysparm_isdevstudio", "sysparm_nameofstack", "sysparm_view", "sysparm_referring_url"]);
249
+ const unexpectedDestination = url.origin !== origin.origin || url.username || url.password || url.hash ||
250
+ url.pathname !== `/${snapshot.table}.do`;
251
+ const parameters = [...url.searchParams.keys()];
252
+ const unexpectedParameters = parameters.some(key => !allowed.has(key) || url.searchParams.getAll(key).length !== 1);
253
+ const unexpectedScope = url.searchParams.has("sysparm_transaction_scope") &&
254
+ url.searchParams.get("sysparm_transaction_scope") !== fields.sysparm_transaction_scope;
255
+ const unexpectedRecord = !url.searchParams.has("sys_id") ||
256
+ ![snapshot.sysId, "-1"].includes(url.searchParams.get("sys_id"));
257
+ if (unexpectedDestination || unexpectedParameters || unexpectedScope || unexpectedRecord) {
258
+ throw new FormSubmitError(snapshot.table, "Unexpected form redirect");
259
+ }
260
+ const landing = await this.request().get({ path: url.pathname,
261
+ query: Object.fromEntries(url.searchParams), headers: null, body: null,
262
+ requires: READ_ONLY, responseFormat: "text", sensitive: true, redirect: "manual" });
263
+ if (landing.status >= 300)
264
+ throw new FormSubmitError(snapshot.table, "Unexpected landing redirect");
265
+ const parsed = parseFormMessages(this.text(landing.data));
266
+ messages.errors.push(...parsed.errors);
267
+ messages.info.push(...parsed.info);
268
+ }
269
+ return { sysId: snapshot.sysId, action, messages: messages.info.map(clean), errors: messages.errors.map(clean) };
270
+ }
204
271
  request() {
205
272
  // One session for the form load, the submit and the follow-up read: the submit's
206
273
  // token must belong to the session that loaded the form.
@@ -219,6 +286,52 @@ export class FormRecordWriter {
219
286
  return stripSecretsFromError(error);
220
287
  }
221
288
  }
289
+ /** Shared internal transport. Excluded from the package barrel. */
290
+ export function createFormTransport(instance) {
291
+ return new FormTransport(instance);
292
+ }
293
+ /** Write ordinary records through classic forms with the established defaults. */
294
+ export class FormRecordWriter {
295
+ _transport;
296
+ constructor(instance) { this._transport = createFormTransport(instance); }
297
+ loadForm(table, sysId = "-1", options = {}) {
298
+ return this._transport.loadForm(table, sysId, options);
299
+ }
300
+ /**
301
+ * Insert a record through its form.
302
+ *
303
+ * @param table Table name
304
+ * @param options Field values, variable values, view and initial query
305
+ * @returns The new record's sys_id and any info messages
306
+ * @throws InvalidParameterException for unknown variables or invalid choice values
307
+ * @throws FormSubmitError when the instance does not accept the submit
308
+ */
309
+ async insert(table, options = {}) {
310
+ const snapshot = await this.loadForm(table, "-1", options);
311
+ const result = await this.submit(snapshot, "sysverb_insert", options);
312
+ await this._transport.requireExists(table, result.sysId);
313
+ return result;
314
+ }
315
+ /**
316
+ * Update a record through its form. Fields and variables you do not pass keep their
317
+ * current values.
318
+ *
319
+ * @param table Table name
320
+ * @param sysId Record sys_id
321
+ * @param options Field values, variable values and view
322
+ * @throws InvalidParameterException for unknown variables or invalid choice values
323
+ * @throws FormSubmitError when the instance does not accept the submit
324
+ */
325
+ async update(table, sysId, options = {}) {
326
+ if (!SYS_ID.test(sysId ?? ""))
327
+ throw new InvalidParameterException("sysId must be a 32-character sys_id");
328
+ const snapshot = await this.loadForm(table, sysId, { view: options.view });
329
+ return await this.submit(snapshot, "sysverb_update", options);
330
+ }
331
+ async submit(snapshot, action, options = {}) {
332
+ return await this._transport.submit(snapshot, action, options);
333
+ }
334
+ }
222
335
  /**
223
336
  * Encode a caller value the way the form posts it.
224
337
  *
@@ -1 +1 @@
1
- {"version":3,"file":"FormRecordWriter.js","sourceRoot":"","sources":["../../../src/comm/http/FormRecordWriter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAYvF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,IAAI,GAAG,eAAe,CAAC;AAC7B,MAAM,MAAM,GAAG,iBAAiB,CAAC;AAEjC,wFAAwF;AACxF,MAAM,QAAQ,GAAG,8FAA8F,CAAC;AAEhH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,gBAAgB;IACjB,OAAO,GAAW,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACjD,SAAS,CAAqB;IAEtC,YAAmB,QAA4B;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,QAAgB,IAAI,EAAE,UAA2B,EAAE;QACpF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,yBAAyB,CAAC,2CAA2C,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,KAAK,GAA2B,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QACxD,IAAI,OAAO,CAAC,IAAI;YAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;QACpD,IAAI,OAAO,CAAC,YAAY;YAAE,KAAK,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;QAErE,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAS;gBAC9C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;gBACrE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM;aAC9C,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;YAChE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC;gBACvE,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,KAAK,mCAAmC,CAAC,CAAC;YACjF,CAAC;YACD,OAAO,QAAQ,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACI,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,UAA4B,EAAE;QAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;;;OASG;IACI,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,KAAa,EAAE,UAA4B,EAAE;QAC5E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAAE,MAAM,IAAI,yBAAyB,CAAC,qCAAqC,CAAC,CAAC;QAC1G,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CACf,QAAsB,EACtB,MAA2C,EAC3C,UAA4B,EAAE;QAE9B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE,CAAuC,CAAC;YAC9F,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;YAC9F,CAAC;YACD,MAAM,MAAM,GAA2B;gBACnC,UAAU,EAAE,KAAK;gBACjB,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,QAAQ,CAAC,KAAK;gBAC/B,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG;gBAC1C,YAAY,EAAE,QAAQ,CAAC,QAAQ;gBAC/B,qBAAqB,EAAE,QAAQ,CAAC,SAAS;gBACzC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM;gBAC9C,UAAU,EAAE,OAAO,CAAC,SAAS;gBAC7B,sBAAsB,EAAE,QAAQ,CAAC,aAAa;gBAC9C,gBAAgB,EAAE,QAAQ;gBAC1B,UAAU,EAAE,MAAM;gBAClB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,GAAG,MAAM;aACZ,CAAC;YAEF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAS;gBAC/C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;gBAC5E,MAAM,EAAE,cAAc,EAAE,MAAM;aACjC,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1C,MAAM,IAAI,eAAe,CAAC,KAAK,EAAE,OAAO,KAAK,+BAA+B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACnG,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QACtE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,WAAW,CAAC,QAAsB,EAAE,OAAyB;QACjE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,MAAM,GAAG,GAA2B,EAAE,CAAC;QAEvC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,yBAAyB,CAAC,uBAAuB,KAAK,GAAG,CAAC,CAAC;YAC5F,MAAM,IAAI,GAAG,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC;YACjC,GAAG,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;YACrE,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;gBACnC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC;oBACnE,MAAM,IAAI,yBAAyB,CAAC,qBAAqB,OAAO,YAAY,KAAK,qBAAqB,KAAK,EAAE,CAAC,CAAC;gBACnH,CAAC;gBACD,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC;QACL,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAEO,YAAY,CAAC,QAAsB,EAAE,KAAc;QACvD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,IAAI,yBAAyB,CAAC,OAAO,QAAQ,CAAC,KAAK,wBAAwB,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACxE,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,yBAAyB,CAC/B,iCAAiC,QAAQ,CAAC,KAAK,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5G,CAAC;QACD,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,KAAa;QACpD,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAyC;YAC1E,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,IAAI,EAAE,IAAI;YACnG,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE;SAC5F,CAAC,CAAC;QACH,IAAI,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QAC5B,iFAAiF;QACjF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YACxE,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;YACjE,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YAC3B,mFAAmF;YACnF,MAAM,IAAI,eAAe,CAAC,KAAK,EAAE,OAAO,KAAK,mCAAmC,KAAK,IAAI;kBACnF,8CAA8C,QAAQ,EAAE,MAAM,IAAI,SAAS,GAAG,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YACvC,MAAM,IAAI,eAAe,CAAC,KAAK,EAAE,OAAO,KAAK,wCAAwC,KAAK,iBAAiB,CAAC,CAAC;QACjH,CAAC;IACL,CAAC;IAEO,OAAO;QACX,iFAAiF;QACjF,yDAAyD;QACzD,OAAO,cAAc,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAEO,YAAY,CAAC,KAAa;QAC9B,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,yBAAyB,CAAC,gCAAgC,CAAC,CAAC;IAC3G,CAAC;IAEO,IAAI,CAAC,IAAa;QACtB,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,CAAC;IAEO,aAAa,CAAI,KAAQ;QAC7B,IAAI,KAAK,YAAY,KAAK;YAAE,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzE,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,KAAqB,EAAE,OAAqB;IACxE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAEhE,IAAI,OAAO,EAAE,IAAI,KAAK,gBAAgB;QAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,yBAAyB,CAAC,uDAAuD,OAAO,EAAE,IAAI,IAAI,eAAe,GAAG,CAAC,CAAC;IACpI,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3B,IAAI,OAAO,EAAE,OAAO,EAAE,MAAM;QAAE,OAAO,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClE,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0C;IACrE,IAAI,KAAa,CAAC;IAClB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,KAAK,GAAG,KAAK,CAAC;IAClB,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;IAC3H,CAAC;SAAM,CAAC;QACJ,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,2CAA2C,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,MAAM,EAAE,CAAC;YACT,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1H,CAAC;aAAM,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;QAAE,MAAM,IAAI,yBAAyB,CAAC,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5H,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACvC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,GAAG,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC;AAC3H,CAAC;AAED,SAAS,aAAa,CAAC,IAAY,EAAE,OAAoB;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAChC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAChF,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,KAAK,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5F,MAAM,IAAI,yBAAyB,CAAC,IAAI,IAAI,yBAAyB,OAAO,CAAC,IAAI,cAAc,OAAO,EAAE,CAAC,CAAC;AAC9G,CAAC"}
1
+ {"version":3,"file":"FormRecordWriter.js","sourceRoot":"","sources":["../../../src/comm/http/FormRecordWriter.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ export interface HTTPRequest {
9
9
  json?: object | null;
10
10
  /** Keep successful HTML/XML responses as text without attempting JSON parsing. */
11
11
  responseFormat?: "json" | "text";
12
+ /** Opt in to returning redirects to the caller. Defaults to fetch's follow behavior. */
13
+ redirect?: "follow" | "manual";
14
+ /** Exclude payloads, query values and raw errors from request diagnostics. */
15
+ sensitive?: boolean;
12
16
  /**
13
17
  * What permission this request needs, when the HTTP verb would get it wrong.
14
18
  *
@@ -67,5 +67,6 @@ export declare class RequestHandler implements IRequestHandler {
67
67
  get<T>(request: HTTPRequest): Promise<IHttpResponse<T>>;
68
68
  delete<T>(request: HTTPRequest): Promise<IHttpResponse<T>>;
69
69
  private getRequestConfig;
70
+ private diagnostic;
70
71
  private getQueryString;
71
72
  }