Zuplo Changelog
We release improvements, new features, and fixes daily. Follow along here to see the most important updates.
The new Request Body Validation policy allows validating incoming request bodies based on the schema in your OpenAPI file. This policy can be configured to reject requests with invalid body schemas or write logs to your preferred logging provider.
The Request Validation policy no supports validation of headers, query strings, and URL parameters.
The Mock API Response policy enables rapid mocking of an API using the examples inside of your OpenAPI document. Return a single example or random examples to build a proof-of-concept for your API or enable clients to begin development while the backend is being built out.
Proxy data or services from Firestore through Zuplo using two new policies.
- Upstream Firebase Admin Auth - authorizes requests using a Firebase Admin Token that can be used to call any Firebase API.
- Upstream Firebase User Auth - authorizes requests as a specific user which allows securing Firebase resources using security rules
Open API Handler
The new Open API handler allows serving the public version of your OpenAPI file through a route of your choice.
Open API from ZuploContext
The context.route
property on the
ZuploContext
object now exposes the raw Open
API operation JSON for use in handlers or policies.
export async function myHandler(request: ZuploRequest, context: ZuploContext) {
const raw = context.route.raw();
return raw;
}
Additional Geolocation Properties
The incomingRequestProperties
property on the
ZuploContext
route now exposes several
additional values:
postalCode
- Postal code of the incoming request, for example, "78701".metroCode
- Metro code (DMA) of the incoming request, for example, "635".region
- If known, the ISO 3166-2 name for the first level region associated with the IP address of the incoming request, for example, "Texas".regionCode
- If known, the ISO 3166-2 code for the first-level region associated with the IP address of the incoming request, for example, "TX".timezone
- Timezone of the incoming request, for example, "America/Chicago".
String interpolated environment variables
When using environment variables in with string interpolation in routes.json
or your OpenAPI file, i.e. "option": "my-$env(ENV_VAR)-value"
undefined
environment variables would result in the string "undefined" (Javascript's
result of ${undefined}
). Instead undefined variables will now result in an
empty string.
Secure Tunnel Management
Secure Tunnels can now be managed using the Zuplo CLI or using the Developer API