zuplo 6.70.37 → 6.70.40
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/docs/articles/monetization/troubleshooting.md +0 -7
- package/docs/dev-portal/zudoku/configuration/api-reference.md +4 -0
- package/docs/dev-portal/zudoku/configuration/docs.md +1 -1
- package/docs/dev-portal/zudoku/configuration/overview.md +6 -0
- package/docs/policies/mtls-auth-inbound/intro.md +10 -9
- package/docs/policies/set-upstream-api-key-inbound/intro.md +4 -4
- package/package.json +4 -4
|
@@ -256,13 +256,6 @@ parallel during migration:
|
|
|
256
256
|
3. Once you've verified parity, remove the third-party policy
|
|
257
257
|
4. Decommission the third-party metering service
|
|
258
258
|
|
|
259
|
-
### Is there an SLA on metering accuracy?
|
|
260
|
-
|
|
261
|
-
Zuplo meters in the request path — every request that gets a response is metered
|
|
262
|
-
synchronously. There's no batch processing, no eventual consistency window, and
|
|
263
|
-
no sampling. If the customer's API call succeeded (based on
|
|
264
|
-
`meterOnStatusCodes`), it's counted.
|
|
265
|
-
|
|
266
259
|
### Can I customize the 403 response body?
|
|
267
260
|
|
|
268
261
|
Yes. Use a custom outbound policy to transform the `403` response when it's a
|
|
@@ -212,6 +212,7 @@ const config = {
|
|
|
212
212
|
showInfoPage: true, // Show API information page as the index route
|
|
213
213
|
schemaDownload: {
|
|
214
214
|
enabled: true, // Enable schema download button
|
|
215
|
+
fileName: "schema", // Set name of the schema file when downloaded
|
|
215
216
|
},
|
|
216
217
|
},
|
|
217
218
|
},
|
|
@@ -238,6 +239,8 @@ Available options:
|
|
|
238
239
|
- `schemaDownload`: Enable schema download functionality. When enabled, displays a button allowing
|
|
239
240
|
users to download the OpenAPI schema, copy it to clipboard, or open in a new tab.
|
|
240
241
|
- `enabled`: Enable or disable the schema download button
|
|
242
|
+
- `fileName`: Set name of the schema file when downloaded (default: `schema`). Note: Do not
|
|
243
|
+
include a file extension, as that is added automatically based on the input file type.
|
|
241
244
|
- `transformExamples`: Function to transform request/response examples before rendering. See
|
|
242
245
|
[Transforming Examples](../guides/transforming-examples.md) for detailed usage
|
|
243
246
|
- `generateCodeSnippet`: Function to generate custom code snippets for the API playground. See
|
|
@@ -261,6 +264,7 @@ const config = {
|
|
|
261
264
|
showInfoPage: true, // Show API information page as the index route
|
|
262
265
|
schemaDownload: {
|
|
263
266
|
enabled: true, // Enable schema download button
|
|
267
|
+
fileName: "schema", // Set name of the schema file when downloaded
|
|
264
268
|
},
|
|
265
269
|
},
|
|
266
270
|
},
|
|
@@ -228,7 +228,7 @@ The copy button provides:
|
|
|
228
228
|
|
|
229
229
|
### `publishMarkdown`
|
|
230
230
|
|
|
231
|
-
**Type:** `boolean` **Default:** `
|
|
231
|
+
**Type:** `boolean` **Default:** `true`
|
|
232
232
|
|
|
233
233
|
When enabled, generates `.md` files for each documentation page during build. Pages can then be
|
|
234
234
|
accessed at their URL path with the `.md` extension appended (e.g., `/docs/quickstart.md`).
|
|
@@ -195,10 +195,16 @@ Configures the header navigation and placement of header elements (navigation, s
|
|
|
195
195
|
search: "end", // "start" | "center" | "end"
|
|
196
196
|
auth: "end", // "start" | "center" | "end" | "navigation"
|
|
197
197
|
},
|
|
198
|
+
themeSwitcher: {
|
|
199
|
+
enabled: false, // optional, defaults to true
|
|
200
|
+
},
|
|
198
201
|
}
|
|
199
202
|
}
|
|
200
203
|
```
|
|
201
204
|
|
|
205
|
+
Use `header.themeSwitcher.enabled: false` to hide the light/dark theme switch from the desktop
|
|
206
|
+
header and mobile navigation drawer.
|
|
207
|
+
|
|
202
208
|
### `defaults`
|
|
203
209
|
|
|
204
210
|
Sets global default options for APIs that apply to all API configurations. Individual API options
|
|
@@ -18,16 +18,17 @@ Set `certIssuerDN` to the fully qualified issuer distinguished name to require
|
|
|
18
18
|
on the client certificate. The policy rejects certificates whose parsed issuer
|
|
19
19
|
DN does not match. `certIssuerDN` is required whenever enforcement is enabled
|
|
20
20
|
(i.e. when `allowUnauthenticatedRequests` is not `true`); the policy fails to
|
|
21
|
-
load otherwise. This guarantees that requests are pinned to a specific CA and is
|
|
21
|
+
load otherwise. This guarantees that requests are pinned to a specific CA and is
|
|
22
22
|
especially important when an account has multiple CAs configured.
|
|
23
23
|
|
|
24
24
|
Comparison is order-sensitive on RDNs (e.g. `"CN=foo, O=bar"` does not match
|
|
25
|
-
`"O=bar, CN=foo"`, which matches RFC 4514 §2.1 semantics) but tolerant of
|
|
26
|
-
|
|
27
|
-
`"cn=Example-CA,o=example,c=us"`. Multi-valued RDNs (`+`) and hex-encoded
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
`"O=bar, CN=foo"`, which matches RFC 4514 §2.1 semantics) but tolerant of casing
|
|
26
|
+
and whitespace, so `"CN=example-ca, O=Example, C=US"` matches
|
|
27
|
+
`"cn=Example-CA,o=example,c=us"`. Multi-valued RDNs (`+`) and hex-encoded values
|
|
28
|
+
(`#...`) are not normalized. The simplest way to obtain the expected value is to
|
|
29
|
+
inspect `request.user.data.mtlsAuth.issuer` from a request signed by the desired
|
|
30
|
+
CA.
|
|
31
31
|
|
|
32
|
-
Note: this policy does not work with local development since it relies on
|
|
33
|
-
it is recommended to test this using a
|
|
32
|
+
Note: this policy does not work with local development since it relies on
|
|
33
|
+
metadata from the upstream reverse proxy, it is recommended to test this using a
|
|
34
|
+
working-copy or preview environment.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
The set upstream API key policy attaches a single header (by default
|
|
2
|
-
`Authorization`) to the incoming request so it can be forwarded to your
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
`Authorization`) to the incoming request so it can be forwarded to your upstream
|
|
3
|
+
service. It is a focused version of the set headers policy intended for the
|
|
4
|
+
common case of authenticating Zuplo to an upstream API using a secret sourced
|
|
5
|
+
from an environment variable.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zuplo",
|
|
3
|
-
"version": "6.70.
|
|
3
|
+
"version": "6.70.40",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "The programmable API Gateway",
|
|
6
6
|
"author": "Zuplo, Inc.",
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
"zuplo": "zuplo.js"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@zuplo/cli": "6.70.
|
|
23
|
-
"@zuplo/core": "6.70.
|
|
24
|
-
"@zuplo/runtime": "6.70.
|
|
22
|
+
"@zuplo/cli": "6.70.40",
|
|
23
|
+
"@zuplo/core": "6.70.40",
|
|
24
|
+
"@zuplo/runtime": "6.70.40",
|
|
25
25
|
"@zuplo/test": "1.4.0"
|
|
26
26
|
}
|
|
27
27
|
}
|