Injects a fake HTTP request/response into your node server logic.
| Version | License | Node | Dependencies | CI |
|---|---|---|---|---|
| BSD | 16, 18, 20, 22 | Dependency Status | Build Status |
Injects a fake HTTP request/response into a node HTTP server for simulating server logic, writing tests, or debugging. Does not use a socket
connection so can be run against an inactive server (server not in listen mode).
const Http = require('http'); const Shot = require('@hapi/shot'); const internals = {}; internals.main = async function () { const dispatch = function (req, res) { const reply = 'Hello World'; res.writeHead(200, { 'Content-Type': 'text/plain', 'Content-Length': reply.length }); res.end(reply); }; const server = Http.createServer(dispatch); const res = await Shot.inject(dispatch, { method: 'get', url: '/' }); console.log(res.payload); }; internals.main();
Note how server.listen is never called.