There’s no implementation example for the request validation in v4.
Here’s an untested example:
import { ExpressJs, Request, Response, Webhook } from '@jovotech/server-express';
import { app } from './app';
import express from 'express';
import verifier from 'alexa-verifier-middleware';
import * as bodyParser from 'body-parser';
const server: express.Application = express();
/*
|--------------------------------------------------------------------------
| EXPRESS SERVER CONFIGURATION
|--------------------------------------------------------------------------
|
| Creates a new express app instance, default for local development
| Learn more here: www.jovo.tech/docs/server/express
|
*/
const port = process.env.JOVO_PORT || 3000;
(async () => {
if (process.env.NODE_ENV === 'test' || process.env.JEST_WORKER_ID) {
return;
}
await app.initialize();
const router = express.Router();
router.use('/webhook', verifier);
router.use('/webhook', bodyParser.json());
server.use(router);
server.listen(port, () => {
console.info(`Local server listening on port ${port}.`);
});
server.post('/webhook', async (req: Request, res: Response) => {
await app.handle(new ExpressJs(req, res));
});
})();
Here’s the working implementation in v3 https://github.com/jovotech/jovo-framework/blob/06b30e9671bb63666973dc8f35394a2876cee8ed/jovo-framework/src/server.ts#L43