diff --git a/.changeset/few-apes-fetch.md b/.changeset/few-apes-fetch.md new file mode 100644 index 0000000000..9941e44d70 --- /dev/null +++ b/.changeset/few-apes-fetch.md @@ -0,0 +1,5 @@ +--- +"app-avatax": patch +--- + +Experimentally move creating dependencies (checkout-calculate-taxes) into handler body. This is a hypothesis that lambda will start up faster. diff --git a/apps/avatax/src/pages/api/webhooks/checkout-calculate-taxes.ts b/apps/avatax/src/pages/api/webhooks/checkout-calculate-taxes.ts index f6f68ef6ba..24360470ba 100644 --- a/apps/avatax/src/pages/api/webhooks/checkout-calculate-taxes.ts +++ b/apps/avatax/src/pages/api/webhooks/checkout-calculate-taxes.ts @@ -24,21 +24,24 @@ export const config = { }, }; -const logger = createLogger("checkoutCalculateTaxesSyncWebhook"); - const withMetadataCache = wrapWithMetadataCache(metadataCache); -const subscriptionErrorChecker = new SubscriptionPayloadErrorChecker(logger, captureException); -const useCase = new CalculateTaxesUseCase({ - configExtractor: new AppConfigExtractor(), - logWriterFactory: new LogWriterFactory(), - payloadLinesTransformer: new AvataxCalculateTaxesPayloadLinesTransformer( - new AvataxCalculateTaxesTaxCodeMatcher(), - ), - calculateTaxesResponseTransformer: new AvataxCalculateTaxesResponseTransformer(), -}); - const handler = checkoutCalculateTaxesSyncWebhook.createHandler(async (req, res, ctx) => { + const logger = createLogger("checkoutCalculateTaxesSyncWebhook"); + + /** + * Create deps in handler, so it's potentially faster and reduce lambda start + */ + const subscriptionErrorChecker = new SubscriptionPayloadErrorChecker(logger, captureException); + const useCase = new CalculateTaxesUseCase({ + configExtractor: new AppConfigExtractor(), + logWriterFactory: new LogWriterFactory(), + payloadLinesTransformer: new AvataxCalculateTaxesPayloadLinesTransformer( + new AvataxCalculateTaxesTaxCodeMatcher(), + ), + calculateTaxesResponseTransformer: new AvataxCalculateTaxesResponseTransformer(), + }); + try { const { payload, authData } = ctx;