1 Commits

Author SHA1 Message Date
Morten Olsen
2a2f2f5627 feat: load env vars 2025-05-18 20:34:51 +02:00
5 changed files with 9 additions and 27 deletions

View File

@@ -92,7 +92,7 @@ jobs:
release: release:
permissions: permissions:
contents: write contents: read
packages: write packages: write
attestations: write attestations: write
id-token: write id-token: write
@@ -135,8 +135,3 @@ jobs:
pnpm publish --no-git-checks --access public pnpm publish --no-git-checks --access public
env: env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: "docs: generated README"
file_pattern: "*.md"

View File

@@ -110,9 +110,9 @@ HTTP/200 OK
access-control-allow-credentials: true access-control-allow-credentials: true
access-control-allow-origin: * access-control-allow-origin: *
connection: keep-alive connection: keep-alive
content-length: 556 content-length: 559
content-type: application/json content-type: application/json
date: Sun, 18 May 2025 18:55:55 GMT date: Sun, 18 May 2025 18:31:46 GMT
server: gunicorn/19.9.0 server: gunicorn/19.9.0
{ {
@@ -129,12 +129,12 @@ server: gunicorn/19.9.0
"Host": "httpbin.org", "Host": "httpbin.org",
"Sec-Fetch-Mode": "cors", "Sec-Fetch-Mode": "cors",
"User-Agent": "node", "User-Agent": "node",
"X-Amzn-Trace-Id": "Root=1-682a2d3b-244883ec40275d5e642566d6" "X-Amzn-Trace-Id": "Root=1-682a2792-7df702ce77a3b3696937eaeb"
}, },
"json": { "json": {
"greeting": "Hello, http.md!" "greeting": "Hello, http.md!"
}, },
"origin": "13.64.151.43", "origin": "185.181.220.204",
"url": "https://httpbin.org/post" "url": "https://httpbin.org/post"
} }

View File

@@ -176,13 +176,6 @@ Within your markdown document, the following variables are available in the Hand
::raw-md[./examples/with-template.md] ::raw-md[./examples/with-template.md]
<details>
<summary>Output</summary>
::raw-md[./examples/with-template.md]{render}
</details>
_(Note: `httpbin.org/post` wraps the JSON sent in a "json" field in its response. If your API returns the ID directly at the root of the JSON body, you'd use `{{responses.createItem.body.id}}` assuming the `createItem` request had the `json` option.)_ _(Note: `httpbin.org/post` wraps the JSON sent in a "json" field in its response. If your API returns the ID directly at the root of the JSON body, you'd use `{{responses.createItem.body.id}}` assuming the `createItem` request had the `json` option.)_
**2. Displaying a status code in markdown text:** **2. Displaying a status code in markdown text:**

View File

@@ -1,11 +1,11 @@
```http #createItem,json ```http id=createItem json
POST https://httpbin.org/post POST https://httpbin.org/post
Content-Type: application/json Content-Type: application/json
{"name": "My New Item"} {"name": "My New Item"}
``` ```
The new item ID is: {{response.body.json.name}} The new item ID is: {{responses.createItem.body.json.name}}
Now, let's fetch the item using a (mocked) ID from the response: Now, let's fetch the item using a (mocked) ID from the response:

View File

@@ -16,11 +16,6 @@ const httpHandler: ExecutionHandler = ({
return [key.trim(), value?.trim() || true]; return [key.trim(), value?.trim() || true];
}) })
); );
let id = options.id?.toString();
const idPart = optionParts.find((option) => option.startsWith('#'));
if (idPart) {
id = idPart.slice(1);
}
addStep({ addStep({
type: 'http', type: 'http',
@@ -33,8 +28,7 @@ const httpHandler: ExecutionHandler = ({
const content = template(context); const content = template(context);
const [head, body] = content.split('\n\n'); const [head, body] = content.split('\n\n');
const [top, ...headerItems] = head.split('\n'); const [top, ...headerItems] = head.split('\n');
const [method, ...urlParts] = top.split(' '); const [method, url] = top.split(' ');
const url = urlParts.join(' ').trim();
const headers = Object.fromEntries( const headers = Object.fromEntries(
headerItems.map((header) => { headerItems.map((header) => {
@@ -72,7 +66,7 @@ const httpHandler: ExecutionHandler = ({
node.meta = undefined; node.meta = undefined;
context.addRequest({ context.addRequest({
id, id: options.id?.toString(),
request: { request: {
method, method,
url, url,