Zuplo Changelog

We release improvements, new features, and fixes daily. Follow along here to see the most important updates.

Request Validation Policy

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.

Mock API Response Policy

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.

Firebase Upstream Authentication Policies

Proxy data or services from Firestore through Zuplo using two new policies.

Open API Handler

The new Open API handler allows serving the public version of your OpenAPI file through a route of your choice.

Zuplo OpenAPI spec handler

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

Designed for Developers, Made for the Edge