norn-cli 1.3.7 → 1.3.8

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 CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to the "Norn" extension will be documented in this file.
4
4
 
5
+ ## [1.3.8] - 2026-02-09
6
+
7
+ ### Fixed
8
+ - **Named Requests with Endpoint Syntax**: Fixed `run RequestName` failing when the named request uses `.nornapi` endpoint syntax
9
+ - `[PostFormWithEndpoint]` with `POST HttpBinPost Form` now works correctly when invoked via `run PostFormWithEndpoint`
10
+ - Endpoint is resolved and headers/body are properly applied
11
+
5
12
  ## [1.3.7] - 2026-02-09
6
13
 
7
14
  ### Fixed
package/dist/cli.js CHANGED
@@ -28462,9 +28462,68 @@ async function runSequenceWithJar(sequenceContent, fileVariables, cookieJar, wor
28462
28462
  let requestUrl = "";
28463
28463
  let requestMethod = "";
28464
28464
  try {
28465
- let requestParsed = parserHttpRequest(namedRequest.content, runtimeVariables);
28466
- if (apiDefinitions && apiDefinitions.headerGroups.length > 0) {
28467
- requestParsed = applyHeaderGroupsToRequest(requestParsed, namedRequest.content, apiDefinitions.headerGroups, runtimeVariables);
28465
+ let requestParsed;
28466
+ if (apiDefinitions && apiDefinitions.endpoints.length > 0 && isApiRequestLine(namedRequest.content, apiDefinitions.endpoints)) {
28467
+ const apiRequest = parseApiRequest(
28468
+ namedRequest.content,
28469
+ apiDefinitions.endpoints,
28470
+ apiDefinitions.headerGroups
28471
+ );
28472
+ if (apiRequest) {
28473
+ const endpoint = getEndpoint(
28474
+ { headerGroups: apiDefinitions.headerGroups, endpoints: apiDefinitions.endpoints },
28475
+ apiRequest.endpointName
28476
+ );
28477
+ if (endpoint) {
28478
+ let resolvedPath = endpoint.path;
28479
+ resolvedPath = resolvedPath.replace(/\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g, (_, varName) => {
28480
+ return runtimeVariables[varName] !== void 0 ? String(runtimeVariables[varName]) : `{{${varName}}}`;
28481
+ });
28482
+ for (const [paramName, paramValue] of Object.entries(apiRequest.params)) {
28483
+ let resolvedValue = paramValue;
28484
+ if (runtimeVariables[paramValue] !== void 0) {
28485
+ resolvedValue = String(runtimeVariables[paramValue]);
28486
+ } else if (paramValue.startsWith("{{") && paramValue.endsWith("}}")) {
28487
+ const varName = paramValue.slice(2, -2);
28488
+ if (runtimeVariables[varName] !== void 0) {
28489
+ resolvedValue = String(runtimeVariables[varName]);
28490
+ }
28491
+ }
28492
+ resolvedPath = resolvedPath.replace(`{${paramName}}`, resolvedValue);
28493
+ }
28494
+ const combinedHeaders = {};
28495
+ for (const groupName of apiRequest.headerGroupNames) {
28496
+ const group = getHeaderGroup(apiDefinitions, groupName);
28497
+ if (group) {
28498
+ const resolvedHeaders = resolveHeaderValues(group, runtimeVariables);
28499
+ Object.assign(combinedHeaders, resolvedHeaders);
28500
+ }
28501
+ }
28502
+ for (const [headerName, headerValue] of Object.entries(apiRequest.inlineHeaders)) {
28503
+ let resolved = headerValue;
28504
+ resolved = resolved.replace(/\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g, (_, varName) => {
28505
+ return runtimeVariables[varName] !== void 0 ? String(runtimeVariables[varName]) : `{{${varName}}}`;
28506
+ });
28507
+ combinedHeaders[headerName] = resolved;
28508
+ }
28509
+ const bodyParsed = parserHttpRequest(namedRequest.content, runtimeVariables);
28510
+ requestParsed = {
28511
+ method: apiRequest.method,
28512
+ url: resolvedPath,
28513
+ headers: combinedHeaders,
28514
+ body: bodyParsed.body
28515
+ };
28516
+ } else {
28517
+ throw new Error(`Unknown endpoint: ${apiRequest.endpointName}`);
28518
+ }
28519
+ } else {
28520
+ requestParsed = parserHttpRequest(namedRequest.content, runtimeVariables);
28521
+ }
28522
+ } else {
28523
+ requestParsed = parserHttpRequest(namedRequest.content, runtimeVariables);
28524
+ if (apiDefinitions && apiDefinitions.headerGroups.length > 0) {
28525
+ requestParsed = applyHeaderGroupsToRequest(requestParsed, namedRequest.content, apiDefinitions.headerGroups, runtimeVariables);
28526
+ }
28468
28527
  }
28469
28528
  requestUrl = requestParsed.url;
28470
28529
  requestMethod = requestParsed.method;
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "norn-cli",
3
3
  "displayName": "Norn - REST Client",
4
4
  "description": "A powerful REST client for making HTTP requests with sequences, variables, scripts, and cookie support",
5
- "version": "1.3.7",
5
+ "version": "1.3.8",
6
6
  "publisher": "Norn-PeterKrustanov",
7
7
  "author": {
8
8
  "name": "Peter Krastanov"