From c32394b4d01b5c072f88b620885a00ceb2e9e3a2 Mon Sep 17 00:00:00 2001 From: billytrend Date: Mon, 7 Feb 2022 19:46:03 +0000 Subject: [PATCH] Check for Joi.binary (#100) --- src/schemas/Certificates.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/schemas/Certificates.ts b/src/schemas/Certificates.ts index fe661d0..e595bd9 100644 --- a/src/schemas/Certificates.ts +++ b/src/schemas/Certificates.ts @@ -8,11 +8,14 @@ export interface CertificatesSchema { signerKeyPassphrase?: string; } +// Joi.binary is not available in browser-like environments (like Cloudflare workers) so fallback to basic check +const binary = Joi.binary ? Joi.binary() : Joi.custom((obj) => Buffer.isBuffer(obj)); + export const CertificatesSchema = Joi.object() .keys({ - wwdr: Joi.alternatives(Joi.binary(), Joi.string()).required(), - signerCert: Joi.alternatives(Joi.binary(), Joi.string()).required(), - signerKey: Joi.alternatives(Joi.binary(), Joi.string()).required(), + wwdr: Joi.alternatives(binary, Joi.string()).required(), + signerCert: Joi.alternatives(binary, Joi.string()).required(), + signerKey: Joi.alternatives(binary, Joi.string()).required(), signerKeyPassphrase: Joi.string(), }) .required();