mihawk
Version:
A tiny & simple mock server tool, support json,js,cjs,ts(typescript).
22 lines (21 loc) • 702 B
JavaScript
;
import { createDataResolver } from '../composites/resolve-data';
export default function (options) {
const calcMockData = createDataResolver(options);
return async function mock(ctx, next) {
const { mockRelPath, routePath } = ctx || {};
const { skipDefaultMock } = ctx;
if (skipDefaultMock) {
ctx.set('X-Mock-Hit', '0');
await next();
}
else {
ctx.status = 200;
ctx.set('Content-Type', 'application/json');
ctx.set('X-Mock-Hit', '1');
const mockJson = await calcMockData(ctx);
ctx.hitDefaultMock = true;
ctx.body = mockJson;
}
};
}