UNPKG

mihawk

Version:

A tiny & simple mock server tool, support json,js,cjs,ts(typescript).

27 lines (26 loc) 973 B
'use strict'; import { Debugger } from '../utils/print'; import { createDataResolver } from '../composites/resolve-data'; export default function (options) { Debugger.log('mdw-mock: init...'); const calcMockData = createDataResolver(options); return async function mock(ctx, next) { const { mockRelPath, routePath } = ctx || {}; Debugger.log('mdw-mock: >>', routePath, `mockRelPath="${mockRelPath}"`); 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; Debugger.log('mdw-mock: mockData=', mockJson); ctx.body = mockJson; } Debugger.log('mdw-mock: <<', routePath); }; }