@jaredwray/mockhttp 3.0.0 → 3.0.1
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/dist/index.d.mts +45 -0
- package/dist/index.mjs +315 -2
- package/package.json +5 -3
- package/site/dist/api/index.html +188 -2
- package/site/dist/api/swagger.json +226 -1
- package/site/dist/changelog/index.html +20 -17
- package/site/dist/changelog/page/2/index.html +17 -16
- package/site/dist/changelog/{v0-2-1 → v3-0-1}/index.html +83 -9
- package/site/dist/changelog-latest.json +13 -13
- package/site/dist/changelog.json +13 -13
- package/site/dist/docs/bins/index.html +62 -2
- package/site/dist/docs/configuration/index.html +2 -2
- package/site/dist/docs/hosted/index.html +2 -2
- package/site/dist/docs/how-to-deploy/cloudflare/index.html +8 -3
- package/site/dist/docs/how-to-deploy/docker/index.html +2 -2
- package/site/dist/docs/how-to-deploy/wasmer/index.html +2 -2
- package/site/dist/docs/https/index.html +2 -2
- package/site/dist/docs/index.html +2 -2
- package/site/dist/docs/library/index.html +3 -3
- package/site/dist/docs/taps/index.html +2 -2
- package/site/dist/feed.xml +1 -1
- package/site/dist/index.html +2 -2
- package/site/dist/llms-full.txt +371 -15
- package/site/dist/llms.txt +1 -1
- package/site/dist/search-index.json +1 -1
- package/site/dist/sitemap.xml +1 -1
package/site/dist/feed.xml
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MockHTTP</title><link>https://mockhttp.org/</link><description>HTTP mock server and httpbin replacement for API testing. Run it at mockhttp.org, in Docker, or in Node.js.</description><lastBuildDate>
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>MockHTTP</title><link>https://mockhttp.org/</link><description>HTTP mock server and httpbin replacement for API testing. Run it at mockhttp.org, in Docker, or in Node.js.</description><lastBuildDate>Wed, 28 Oct 2026 19:24:18 GMT</lastBuildDate><atom:link href="https://mockhttp.org/feed.xml" rel="self" type="application/rss+xml" /><item><title>Getting Started</title><link>https://mockhttp.org/docs/</link><guid isPermaLink="true">https://mockhttp.org/docs/</guid><description>tests GitHub license codecov npm npm Docker Pulls mockhttp.org A simple HTTP server for mocking responses in tests. Inspired by httpbin and built with Node.js and Fastify. Run it at mockhttp.org, with Docker (jaredwray/mockhttp), or in Node...</description></item><item><title>HTTPS and HTTP/2</title><link>https://mockhttp.org/docs/https/</link><guid isPermaLink="true">https://mockhttp.org/docs/https/</guid><description>MockHttp supports HTTPS with auto-generated self-signed certificates or your own custom certificates. No external dependencies are required — certificate generation uses only Node.js built-in crypto. The simplest way to enable HTTPS is to p...</description></item><item><title>Taps</title><link>https://mockhttp.org/docs/taps/</link><guid isPermaLink="true">https://mockhttp.org/docs/taps/</guid><description>The injection/tap feature allows you to "tap into" the request flow and inject custom responses for specific requests. This is particularly useful for: Offline testing - Mock external API responses without network access Testing edge cases...</description></item><item><title>Bins</title><link>https://mockhttp.org/docs/bins/</link><guid isPermaLink="true">https://mockhttp.org/docs/bins/</guid><description>Bins are ephemeral URL endpoints that capture incoming HTTP requests so you can inspect them later. They're the inverse of Taps: instead of injecting a response, they record everything they receive. Useful for: Debugging webhooks — point St...</description></item><item><title>Configuration</title><link>https://mockhttp.org/docs/configuration/</link><guid isPermaLink="true">https://mockhttp.org/docs/configuration/</guid><description>MockHttp supports rate limiting using @fastify/rate-limit. Rate limiting is enabled by default at 1000 requests per minute with localhost (127.0.0.1 and ::1) excluded from rate limiting. By default, MockHttp applies the following rate limit...</description></item><item><title>Library API</title><link>https://mockhttp.org/docs/library/</link><guid isPermaLink="true">https://mockhttp.org/docs/library/</guid><description>Parameters: options? (MockHttpOptions): port?: number - The port to listen on (default: 3000) host?: string - The host to listen on (default: '0.0.0.0') autoDetectPort?: boolean - Auto-detect next available port if in use (default: true) he...</description></item><item><title>MockHttp.org Live</title><link>https://mockhttp.org/docs/hosted/</link><guid isPermaLink="true">https://mockhttp.org/docs/hosted/</guid><description>mockhttp.org is a free hosted instance of this codebase for testing. It runs on a Cloudflare Worker (no containers): documentation is served from Workers Assets, and mock APIs such as /get and /post run in the Worker. The service is globall...</description></item><item><title>Cloudflare</title><link>https://mockhttp.org/docs/how-to-deploy/cloudflare/</link><guid isPermaLink="true">https://mockhttp.org/docs/how-to-deploy/cloudflare/</guid><description>Deploy MockHTTP as a Cloudflare Worker. Workers Assets serve the docs site, and the Worker handles mock API routes.</description></item><item><title>Docker</title><link>https://mockhttp.org/docs/how-to-deploy/docker/</link><guid isPermaLink="true">https://mockhttp.org/docs/how-to-deploy/docker/</guid><description>Run MockHTTP from the jaredwray/mockhttp image, with Docker Compose, or by building the image from this repository.</description></item><item><title>Wasmer</title><link>https://mockhttp.org/docs/how-to-deploy/wasmer/</link><guid isPermaLink="true">https://mockhttp.org/docs/how-to-deploy/wasmer/</guid><description>Deploy the MockHTTP Node.js server to Wasmer Edge with app.yaml, Anybuild, and wasmer deploy.</description></item></channel></rss>
|
package/site/dist/index.html
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
</script>
|
|
36
36
|
<title>MockHTTP - Getting Started</title>
|
|
37
37
|
<script type="application/ld+json">
|
|
38
|
-
{"@context":"https://schema.org","@type":"TechArticle","headline":"Getting Started","description":"","url":"https://mockhttp.org/","publisher":{"@type":"Organization","name":"MockHTTP"},"dateModified":"2026-10-
|
|
38
|
+
{"@context":"https://schema.org","@type":"TechArticle","headline":"Getting Started","description":"","url":"https://mockhttp.org/","publisher":{"@type":"Organization","name":"MockHTTP"},"dateModified":"2026-10-28","keywords":[]}
|
|
39
39
|
</script>
|
|
40
40
|
</head>
|
|
41
41
|
|
|
@@ -375,7 +375,7 @@
|
|
|
375
375
|
<a href="https://docula.org/" target="_blank" rel="noopener noreferrer" class="footer__link" aria-label="Docula">
|
|
376
376
|
<svg class="footer__bat" xmlns="http://www.w3.org/2000/svg" viewBox="70 110 360 205" fill="currentColor"><path d="M420,173c-16.76-18-72.78-36.65-131.59-30.58A160.15,160.15,0,0,0,269,120.55c-3.78,4.52-11.15,9.45-19,9.45s-15.23-4.93-19-9.45a160.15,160.15,0,0,0-19.4,21.83C152.78,136.31,96.76,154.94,80,173c48.86,5.86,79.5,34.09,79.5,72.06,52.37,0,77,28,90.5,59.94C263.54,273,288.13,245,340.5,245,340.5,207,371.14,178.8,420,173Z"/><circle cx="239.19" cy="145.36" r="3.32" fill="#fff"/><circle cx="260.81" cy="145.36" r="3.32" fill="#fff"/></svg>
|
|
377
377
|
</a>
|
|
378
|
-
<span class="footer__updated">updated: 2026-10-
|
|
378
|
+
<span class="footer__updated">updated: 2026-10-28</span>
|
|
379
379
|
</footer>
|
|
380
380
|
<script src="/css/highlight/highlight.min.js"></script>
|
|
381
381
|
<script>
|
package/site/dist/llms-full.txt
CHANGED
|
@@ -489,6 +489,74 @@ curl http://localhost:3000/bins/abc123def456/requests
|
|
|
489
489
|
| DELETE | `/bins/:id/requests` | Clear all captured requests in a bin |
|
|
490
490
|
| DELETE | `/bins/:id` | Delete a bin |
|
|
491
491
|
| ANY | `/b/:id` and `/b/:id/*` | Capture requests sent to a bin |
|
|
492
|
+
| GET | `/healthz` | Check whether bin storage is reachable |
|
|
493
|
+
|
|
494
|
+
## Storage health
|
|
495
|
+
|
|
496
|
+
`GET /healthz` is on the Node server and the Worker. This route does not create a bin.
|
|
497
|
+
|
|
498
|
+
A memory store sends HTTP 200:
|
|
499
|
+
|
|
500
|
+
```json
|
|
501
|
+
{
|
|
502
|
+
"status": "ok",
|
|
503
|
+
"bins": {
|
|
504
|
+
"store": "memory",
|
|
505
|
+
"connected": true,
|
|
506
|
+
"latencyMs": 1,
|
|
507
|
+
"uriPresent": false
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
The Worker uses MongoDB when `MONGODB_URI` is set. The check opens a client, sends an admin ping, and then closes the client. The timeout is short. The check does not keep the client after a failure.
|
|
513
|
+
|
|
514
|
+
A successful ping sends HTTP 200. `store` is `mongo`.
|
|
515
|
+
|
|
516
|
+
A failed ping sends HTTP 503:
|
|
517
|
+
|
|
518
|
+
```json
|
|
519
|
+
{
|
|
520
|
+
"status": "error",
|
|
521
|
+
"bins": {
|
|
522
|
+
"store": "mongo",
|
|
523
|
+
"connected": false,
|
|
524
|
+
"uriPresent": true,
|
|
525
|
+
"uri": {
|
|
526
|
+
"length": 78,
|
|
527
|
+
"leadingWhitespace": false,
|
|
528
|
+
"trailingWhitespace": false,
|
|
529
|
+
"newline": false,
|
|
530
|
+
"wrappedQuotes": false,
|
|
531
|
+
"atCount": 2,
|
|
532
|
+
"passwordReserved": ["@"],
|
|
533
|
+
"passwordHasPercent": false
|
|
534
|
+
},
|
|
535
|
+
"error": {
|
|
536
|
+
"name": "MongoParseError",
|
|
537
|
+
"message": "Invalid connection string. Percent-encode reserved characters in the username and password (@ : / ? # [ ] $).",
|
|
538
|
+
"code": null
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
```
|
|
543
|
+
|
|
544
|
+
A MongoDB result includes `bins.uri` on success and on failure. A memory result omits `bins.uri`. The response does not include the scheme, the host, the username, or the password length.
|
|
545
|
+
|
|
546
|
+
`uri.passwordReserved` lists raw reserved characters in the password. The list is empty when the password has only reserved characters. `uri.passwordHasPercent` is true when the password contains `%`. The response does not contain the connection string or the password. The logs do not contain the connection string, the username, the password, or the host. `uriPresent` is a boolean.
|
|
547
|
+
|
|
548
|
+
`Invalid connection string` is the driver text. MockHTTP adds the percent-encode hint only for that text or for `unescaped characters`. A DNS error stays a DNS error. `Invalid connection string` means that the URI has a second `@`. It also means that you did not encode a reserved character in the username or the password. Encode these characters:
|
|
549
|
+
|
|
550
|
+
- `@` as `%40`
|
|
551
|
+
- `:` as `%3A`
|
|
552
|
+
- `/` as `%2F`
|
|
553
|
+
- `?` as `%3F`
|
|
554
|
+
- `#` as `%23`
|
|
555
|
+
- `[` as `%5B`
|
|
556
|
+
- `]` as `%5D`
|
|
557
|
+
- `$` as `%24`
|
|
558
|
+
|
|
559
|
+
A correct `mongodb+srv://` URI does not fail at parse time. A DNS failure or a network failure has a different error name.
|
|
492
560
|
|
|
493
561
|
## End-to-End Webhook Debugging Example
|
|
494
562
|
|
|
@@ -1123,7 +1191,7 @@ Register image routes (jpeg, png, svg, webp) with content negotiation support.
|
|
|
1123
1191
|
|
|
1124
1192
|
#### `async registerBinRoutes(fastifyInstance?)`
|
|
1125
1193
|
|
|
1126
|
-
Register the request bin routes
|
|
1194
|
+
Register the request bin routes. Management is at `/bins` and capture is at `/b/:id`. `GET /healthz` reports whether bin storage is reachable.
|
|
1127
1195
|
|
|
1128
1196
|
## Bins (Request Capture)
|
|
1129
1197
|
|
|
@@ -1267,7 +1335,17 @@ The Worker starts the same MockHTTP app as Node.js, with a few options set for t
|
|
|
1267
1335
|
| `logging` | `false` | Request logging is off. |
|
|
1268
1336
|
| `autoDetectPort` | `false` | The app always listens on port 3000 inside the isolate. |
|
|
1269
1337
|
|
|
1270
|
-
The rate limiter key is the `cf-connecting-ip` header, then the first address in `x-forwarded-for`, then `unknown`. A limited request returns `429` with `retry-after: 60`. That limiter is shared across isolates.
|
|
1338
|
+
The rate limiter key is the `cf-connecting-ip` header, then the first address in `x-forwarded-for`, then `unknown`. A limited request returns `429` with `retry-after: 60`. That limiter is shared across isolates.
|
|
1339
|
+
|
|
1340
|
+
Bins stay in memory in the isolate when `MONGODB_URI` is not set. A bin from one request can be absent when a different isolate handles the next request. When `MONGODB_URI` is set, bins are stored in MongoDB. Each request opens its own client on its first bin operation and closes it after the response, through `ctx.waitUntil`. No client is shared between requests: workerd rejects I/O on a socket that a different request opened, and a shared client made bin requests fail with error 1101. It does not connect while the isolate starts. Each bin request therefore pays one connection setup, which is a few round trips to Atlas.
|
|
1341
|
+
|
|
1342
|
+
Percent-encode reserved characters in the username and the password. `@` is `%40`. An unencoded `@` makes the driver throw `Invalid connection string` before it contacts Atlas.
|
|
1343
|
+
|
|
1344
|
+
`GET /healthz` reports the bin store. A successful admin ping returns HTTP 200 and `bins.connected: true`. A failed ping returns HTTP 503 with the driver error name, a redacted message, and a code. The body has `uriPresent` (boolean). It does not have the scheme. On the Node server, this route reports the memory store.
|
|
1345
|
+
|
|
1346
|
+
When `MONGODB_URI` is set, `bins.uri` has the URI length and the `@` count. It also has flags for whitespace, a newline, and quote marks. It does not have the host, the username, or the password length. The body does not have the password or the full URI.
|
|
1347
|
+
|
|
1348
|
+
The percent-encode hint is added only for `Invalid connection string` or `unescaped characters`. A DNS error keeps the driver text. `uri.passwordReserved` is empty when the password has only reserved characters. Worker logs still omit the URI, the username, the password, and the host.
|
|
1271
1349
|
|
|
1272
1350
|
Taps are a library API (`mock.taps.inject`). They have no HTTP routes, so a deployed Worker has no way to inject one.
|
|
1273
1351
|
|
|
@@ -1453,12 +1531,237 @@ OpenAPI Spec Source: /home/runner/work/mockhttp/mockhttp/site/api/swagger.json
|
|
|
1453
1531
|
"info": {
|
|
1454
1532
|
"title": "Mock HTTP API",
|
|
1455
1533
|
"description": "\nA simple HTTP server that can be used to mock HTTP responses for testing purposes. Inspired by [httpbin](https://httpbin.org/) and built using `nodejs` and `fastify` with the idea of running it via https://mockhttp.org, via docker `jaredwray/mockhttp`, or nodejs `npm install @jaredwray/mockhttp`.\n\n* [GitHub Repository](https://github.com/jaredwray/mockhttp)\n* [Docker Image](https://hub.docker.com/r/jaredwray/mockhttp)\n* [NPM Package](https://www.npmjs.com/package/@jaredwray/mockhttp)\n\n# About mockhttp.org\n\n[mockhttp.org](https://mockhttp.org) is a free hosted instance of this codebase for testing. It runs on a Cloudflare Worker (no containers): documentation is served from Workers Assets, and mock APIs such as `/get` and `/post` run in the Worker. The service is globally available and rate-limited (1000 requests per minute per IP) to prevent abuse.\n",
|
|
1456
|
-
"version": "3.0.
|
|
1534
|
+
"version": "3.0.1"
|
|
1457
1535
|
},
|
|
1458
1536
|
"components": {
|
|
1459
1537
|
"schemas": {}
|
|
1460
1538
|
},
|
|
1461
1539
|
"paths": {
|
|
1540
|
+
"/healthz": {
|
|
1541
|
+
"get": {
|
|
1542
|
+
"tags": [
|
|
1543
|
+
"Health"
|
|
1544
|
+
],
|
|
1545
|
+
"description": "Report whether bin storage is reachable. MongoDB failures include the driver error. The scheme, the host, the username, the password, the password length, and the full URI are never returned.",
|
|
1546
|
+
"responses": {
|
|
1547
|
+
"200": {
|
|
1548
|
+
"description": "Default Response",
|
|
1549
|
+
"content": {
|
|
1550
|
+
"application/json": {
|
|
1551
|
+
"schema": {
|
|
1552
|
+
"type": "object",
|
|
1553
|
+
"properties": {
|
|
1554
|
+
"status": {
|
|
1555
|
+
"type": "string",
|
|
1556
|
+
"enum": [
|
|
1557
|
+
"ok"
|
|
1558
|
+
]
|
|
1559
|
+
},
|
|
1560
|
+
"bins": {
|
|
1561
|
+
"type": "object",
|
|
1562
|
+
"properties": {
|
|
1563
|
+
"store": {
|
|
1564
|
+
"type": "string",
|
|
1565
|
+
"enum": [
|
|
1566
|
+
"mongo",
|
|
1567
|
+
"memory"
|
|
1568
|
+
]
|
|
1569
|
+
},
|
|
1570
|
+
"connected": {
|
|
1571
|
+
"type": "boolean"
|
|
1572
|
+
},
|
|
1573
|
+
"latencyMs": {
|
|
1574
|
+
"type": "integer"
|
|
1575
|
+
},
|
|
1576
|
+
"uriPresent": {
|
|
1577
|
+
"type": "boolean"
|
|
1578
|
+
},
|
|
1579
|
+
"uri": {
|
|
1580
|
+
"type": "object",
|
|
1581
|
+
"properties": {
|
|
1582
|
+
"length": {
|
|
1583
|
+
"type": "integer"
|
|
1584
|
+
},
|
|
1585
|
+
"leadingWhitespace": {
|
|
1586
|
+
"type": "boolean"
|
|
1587
|
+
},
|
|
1588
|
+
"trailingWhitespace": {
|
|
1589
|
+
"type": "boolean"
|
|
1590
|
+
},
|
|
1591
|
+
"newline": {
|
|
1592
|
+
"type": "boolean"
|
|
1593
|
+
},
|
|
1594
|
+
"wrappedQuotes": {
|
|
1595
|
+
"type": "boolean"
|
|
1596
|
+
},
|
|
1597
|
+
"atCount": {
|
|
1598
|
+
"type": "integer"
|
|
1599
|
+
},
|
|
1600
|
+
"passwordReserved": {
|
|
1601
|
+
"type": "array",
|
|
1602
|
+
"items": {
|
|
1603
|
+
"type": "string"
|
|
1604
|
+
}
|
|
1605
|
+
},
|
|
1606
|
+
"passwordHasPercent": {
|
|
1607
|
+
"type": "boolean"
|
|
1608
|
+
}
|
|
1609
|
+
},
|
|
1610
|
+
"required": [
|
|
1611
|
+
"length",
|
|
1612
|
+
"leadingWhitespace",
|
|
1613
|
+
"trailingWhitespace",
|
|
1614
|
+
"newline",
|
|
1615
|
+
"wrappedQuotes",
|
|
1616
|
+
"atCount",
|
|
1617
|
+
"passwordReserved",
|
|
1618
|
+
"passwordHasPercent"
|
|
1619
|
+
]
|
|
1620
|
+
}
|
|
1621
|
+
},
|
|
1622
|
+
"required": [
|
|
1623
|
+
"store",
|
|
1624
|
+
"connected",
|
|
1625
|
+
"latencyMs",
|
|
1626
|
+
"uriPresent"
|
|
1627
|
+
]
|
|
1628
|
+
}
|
|
1629
|
+
},
|
|
1630
|
+
"required": [
|
|
1631
|
+
"status",
|
|
1632
|
+
"bins"
|
|
1633
|
+
]
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
}
|
|
1637
|
+
},
|
|
1638
|
+
"503": {
|
|
1639
|
+
"description": "Default Response",
|
|
1640
|
+
"content": {
|
|
1641
|
+
"application/json": {
|
|
1642
|
+
"schema": {
|
|
1643
|
+
"type": "object",
|
|
1644
|
+
"properties": {
|
|
1645
|
+
"status": {
|
|
1646
|
+
"type": "string",
|
|
1647
|
+
"enum": [
|
|
1648
|
+
"error"
|
|
1649
|
+
]
|
|
1650
|
+
},
|
|
1651
|
+
"bins": {
|
|
1652
|
+
"type": "object",
|
|
1653
|
+
"properties": {
|
|
1654
|
+
"store": {
|
|
1655
|
+
"type": "string",
|
|
1656
|
+
"enum": [
|
|
1657
|
+
"mongo",
|
|
1658
|
+
"memory"
|
|
1659
|
+
]
|
|
1660
|
+
},
|
|
1661
|
+
"connected": {
|
|
1662
|
+
"type": "boolean"
|
|
1663
|
+
},
|
|
1664
|
+
"latencyMs": {
|
|
1665
|
+
"type": "integer"
|
|
1666
|
+
},
|
|
1667
|
+
"uriPresent": {
|
|
1668
|
+
"type": "boolean"
|
|
1669
|
+
},
|
|
1670
|
+
"uri": {
|
|
1671
|
+
"type": "object",
|
|
1672
|
+
"properties": {
|
|
1673
|
+
"length": {
|
|
1674
|
+
"type": "integer"
|
|
1675
|
+
},
|
|
1676
|
+
"leadingWhitespace": {
|
|
1677
|
+
"type": "boolean"
|
|
1678
|
+
},
|
|
1679
|
+
"trailingWhitespace": {
|
|
1680
|
+
"type": "boolean"
|
|
1681
|
+
},
|
|
1682
|
+
"newline": {
|
|
1683
|
+
"type": "boolean"
|
|
1684
|
+
},
|
|
1685
|
+
"wrappedQuotes": {
|
|
1686
|
+
"type": "boolean"
|
|
1687
|
+
},
|
|
1688
|
+
"atCount": {
|
|
1689
|
+
"type": "integer"
|
|
1690
|
+
},
|
|
1691
|
+
"passwordReserved": {
|
|
1692
|
+
"type": "array",
|
|
1693
|
+
"items": {
|
|
1694
|
+
"type": "string"
|
|
1695
|
+
}
|
|
1696
|
+
},
|
|
1697
|
+
"passwordHasPercent": {
|
|
1698
|
+
"type": "boolean"
|
|
1699
|
+
}
|
|
1700
|
+
},
|
|
1701
|
+
"required": [
|
|
1702
|
+
"length",
|
|
1703
|
+
"leadingWhitespace",
|
|
1704
|
+
"trailingWhitespace",
|
|
1705
|
+
"newline",
|
|
1706
|
+
"wrappedQuotes",
|
|
1707
|
+
"atCount",
|
|
1708
|
+
"passwordReserved",
|
|
1709
|
+
"passwordHasPercent"
|
|
1710
|
+
]
|
|
1711
|
+
},
|
|
1712
|
+
"error": {
|
|
1713
|
+
"type": "object",
|
|
1714
|
+
"properties": {
|
|
1715
|
+
"name": {
|
|
1716
|
+
"type": "string"
|
|
1717
|
+
},
|
|
1718
|
+
"message": {
|
|
1719
|
+
"type": "string"
|
|
1720
|
+
},
|
|
1721
|
+
"code": {
|
|
1722
|
+
"anyOf": [
|
|
1723
|
+
{
|
|
1724
|
+
"type": "string"
|
|
1725
|
+
},
|
|
1726
|
+
{
|
|
1727
|
+
"type": "number"
|
|
1728
|
+
},
|
|
1729
|
+
{
|
|
1730
|
+
"type": "object",
|
|
1731
|
+
"nullable": true,
|
|
1732
|
+
"enum": [
|
|
1733
|
+
null
|
|
1734
|
+
]
|
|
1735
|
+
}
|
|
1736
|
+
]
|
|
1737
|
+
}
|
|
1738
|
+
},
|
|
1739
|
+
"required": [
|
|
1740
|
+
"name",
|
|
1741
|
+
"message",
|
|
1742
|
+
"code"
|
|
1743
|
+
]
|
|
1744
|
+
}
|
|
1745
|
+
},
|
|
1746
|
+
"required": [
|
|
1747
|
+
"store",
|
|
1748
|
+
"connected",
|
|
1749
|
+
"uriPresent",
|
|
1750
|
+
"error"
|
|
1751
|
+
]
|
|
1752
|
+
}
|
|
1753
|
+
},
|
|
1754
|
+
"required": [
|
|
1755
|
+
"status",
|
|
1756
|
+
"bins"
|
|
1757
|
+
]
|
|
1758
|
+
}
|
|
1759
|
+
}
|
|
1760
|
+
}
|
|
1761
|
+
}
|
|
1762
|
+
}
|
|
1763
|
+
}
|
|
1764
|
+
},
|
|
1462
1765
|
"/get": {
|
|
1463
1766
|
"get": {
|
|
1464
1767
|
"tags": [
|
|
@@ -6939,6 +7242,71 @@ OpenAPI Spec Source: /home/runner/work/mockhttp/mockhttp/site/api/swagger.json
|
|
|
6939
7242
|
## Changelog
|
|
6940
7243
|
URL: https://mockhttp.org/changelog
|
|
6941
7244
|
|
|
7245
|
+
### v3.0.1
|
|
7246
|
+
URL: https://mockhttp.org/changelog/v3-0-1
|
|
7247
|
+
Date: October 28, 2026
|
|
7248
|
+
Tag: Release
|
|
7249
|
+
|
|
7250
|
+
## @jaredwray/mockhttp@3.0.1 — 2026-10-28
|
|
7251
|
+
|
|
7252
|
+
Security patches and Worker fixes. /healthz omits scheme, host, username, and password length.
|
|
7253
|
+
|
|
7254
|
+
### Bug Fixes
|
|
7255
|
+
- start the Worker during isolate startup (#248)
|
|
7256
|
+
- report bin store health and keep a failed connect in process (#249)
|
|
7257
|
+
- drop every second socket error that has no listener (#250)
|
|
7258
|
+
- Add redacted URI diagnostics to /healthz (#254)
|
|
7259
|
+
- open one MongoDB client per Worker request to stop 1101s on bins (#255)
|
|
7260
|
+
- pin Node 24.22.1 and patched undici (#256)
|
|
7261
|
+
- force miniflare's sharp pin to 0.35.5 (#257)
|
|
7262
|
+
- bump zod to 4.6.7 for GHSA-mrhx-c7xc-m3w5 (#258)
|
|
7263
|
+
- security - markdown-it 15.0.3 (CVE-2026-111758) (#260)
|
|
7264
|
+
- omit scheme and URI identity from /healthz (#262)
|
|
7265
|
+
|
|
7266
|
+
```json
|
|
7267
|
+
{
|
|
7268
|
+
"status": "ok",
|
|
7269
|
+
"bins": {
|
|
7270
|
+
"connected": true,
|
|
7271
|
+
"uriPresent": true,
|
|
7272
|
+
"uri": {
|
|
7273
|
+
"atCount": 1,
|
|
7274
|
+
"passwordHasPercent": false
|
|
7275
|
+
}
|
|
7276
|
+
}
|
|
7277
|
+
}
|
|
7278
|
+
```
|
|
7279
|
+
|
|
7280
|
+
### Documentation
|
|
7281
|
+
- remove the empty vars note from the Cloudflare page (#253)
|
|
7282
|
+
|
|
7283
|
+
### Internal
|
|
7284
|
+
- point worker URI fixtures at example.invalid (#251)
|
|
7285
|
+
- declare empty Worker vars in Wrangler (#252)
|
|
7286
|
+
- list LICENSE in the published package files (#259)
|
|
7287
|
+
|
|
7288
|
+
### Contributors
|
|
7289
|
+
- @jaredwray (13)
|
|
7290
|
+
- @cursoragent (1)
|
|
7291
|
+
|
|
7292
|
+
### Full List of Changes
|
|
7293
|
+
- fix: restore Cloudflare Worker routes after the v3.0.0 startup crash by @jaredwray in #248
|
|
7294
|
+
- Add GET /healthz and redact bin store errors by @jaredwray in #249
|
|
7295
|
+
- Use example.invalid for worker test URI fixtures by @jaredwray in #251
|
|
7296
|
+
- Drop every second socket error that has no listener by @jaredwray in #250
|
|
7297
|
+
- Declare empty Worker vars in Wrangler by @jaredwray in #252
|
|
7298
|
+
- Remove the empty vars note from the Cloudflare page by @jaredwray in #253
|
|
7299
|
+
- Add redacted URI diagnostics to /healthz by @jaredwray in #254
|
|
7300
|
+
- fix: open one MongoDB client per Worker request to stop 1101s on bins by @jaredwray in #255
|
|
7301
|
+
- security: pin Node 24.22.1 and patched undici by @jaredwray in #256
|
|
7302
|
+
- fix: security - upgrade sharp to 0.35.5 (libheif RCE) by @jaredwray in #257
|
|
7303
|
+
- fix: security - bump zod to 4.6.7 (GHSA-mrhx-c7xc-m3w5) by @jaredwray in #258
|
|
7304
|
+
- chore: list LICENSE in the published package files by @jaredwray in #259
|
|
7305
|
+
- fix: security - markdown-it 15.0.3 (CVE-2026-111758) by @jaredwray in #260
|
|
7306
|
+
- fix: omit scheme and URI identity from /healthz by @jaredwray in #262
|
|
7307
|
+
|
|
7308
|
+
**Full diff:** [https://github.com/jaredwray/mockhttp/compare/v3.0.0...v3.0.1](https://github.com/jaredwray/mockhttp/compare/v3.0.0...v3.0.1)
|
|
7309
|
+
|
|
6942
7310
|
### v3.0.0
|
|
6943
7311
|
URL: https://mockhttp.org/changelog/v3-0-0
|
|
6944
7312
|
Date: October 20, 2026
|
|
@@ -7676,15 +8044,3 @@ Tag: Release
|
|
|
7676
8044
|
|
|
7677
8045
|
## What's Changed
|
|
7678
8046
|
* Adding in docker description and CORS for allowing logo.svg access
|
|
7679
|
-
|
|
7680
|
-
### v0.2.1
|
|
7681
|
-
URL: https://mockhttp.org/changelog/v0-2-1
|
|
7682
|
-
Date: December 13, 2024
|
|
7683
|
-
Tag: Release
|
|
7684
|
-
|
|
7685
|
-
## What's Changed
|
|
7686
|
-
* moving to logging on a single line by @jaredwray in [https://github.com/jaredwray/mockhttp/pull/15](https://github.com/jaredwray/mockhttp/pull/15)
|
|
7687
|
-
* upgrading scalar to 1.25.82 by @jaredwray in [https://github.com/jaredwray/mockhttp/pull/16](https://github.com/jaredwray/mockhttp/pull/16)
|
|
7688
|
-
|
|
7689
|
-
|
|
7690
|
-
**Full Changelog**: [https://github.com/jaredwray/mockhttp/compare/v0.2.0...v0.2.1](https://github.com/jaredwray/mockhttp/compare/v0.2.0...v0.2.1)
|
package/site/dist/llms.txt
CHANGED
|
@@ -21,6 +21,7 @@ HTTP mock server and httpbin replacement for API testing. Run it at mockhttp.org
|
|
|
21
21
|
|
|
22
22
|
## Changelog
|
|
23
23
|
- [Changelog](https://mockhttp.org/changelog)
|
|
24
|
+
- [v3.0.1](https://mockhttp.org/changelog/v3-0-1) (October 28, 2026)
|
|
24
25
|
- [v3.0.0](https://mockhttp.org/changelog/v3-0-0) (October 20, 2026)
|
|
25
26
|
- [v2.1.0](https://mockhttp.org/changelog/v2-1-0) (October 3, 2026)
|
|
26
27
|
- [v2.0.0](https://mockhttp.org/changelog/v2-0-0) (September 18, 2026)
|
|
@@ -40,4 +41,3 @@ HTTP mock server and httpbin replacement for API testing. Run it at mockhttp.org
|
|
|
40
41
|
- [v0.9.0](https://mockhttp.org/changelog/v0-9-0) (August 27, 2025)
|
|
41
42
|
- [v0.8.0](https://mockhttp.org/changelog/v0-8-0) (August 27, 2025)
|
|
42
43
|
- [v0.7.0](https://mockhttp.org/changelog/v0-7-0) (August 23, 2025)
|
|
43
|
-
- [v0.6.1](https://mockhttp.org/changelog/v0-6-1) (July 19, 2025)
|