master-zapier-plan-draft/vendor/zapier-platform/example-apps/custom-auth/middleware.js
George Lambert b4150c8250 Milestone 0: import zappier billing, Verae middleware, and Zapier research
Compose-ready workspace: packages/zappier (rate card, portal, Stripe),
packages/verae-zapier-middleware (timestamp + NATS), packages/verae-zapier
(CLI app), vendor/zapier-platform, and research/zapier vendor corpus.

Gate 0 structure checks pass. Product code and research are not yet wired.
2026-09-09 02:37:36 -04:00

34 lines
1.1 KiB
JavaScript

'use strict';
// This function runs after every outbound request. You can use it to check for
// errors or modify the response. You can have as many as you need. They'll need
// to each be registered in your index.js file.
const handleBadResponses = (response, z, bundle) => {
if (response.status === 401) {
throw new z.errors.Error(
// This message is surfaced to the user
'The API Key you supplied is incorrect',
'AuthenticationError',
response.status,
);
}
return response;
};
// This function runs before every outbound request. You can have as many as you
// need. They'll need to each be registered in your index.js file.
const includeApiKey = (request, z, bundle) => {
if (bundle.authData.apiKey) {
// Use these lines to include the API key in the querystring
request.params = request.params || {};
request.params.api_key = bundle.authData.apiKey;
// If you want to include the API key in the header instead, uncomment this:
// request.headers.Authorization = bundle.authData.apiKey;
}
return request;
};
module.exports = { befores: [includeApiKey], afters: [handleBadResponses] };