UNPKG

mock-service-plugin

Version:
42 lines (38 loc) 1.36 kB
'use strict'; var Mock = require('mockjs'); var baseHandler = require('./base-handler.js'); class TextResponseHandler extends baseHandler.BaseResponseHandler { async handle(req, res, route) { try { const contentType = this.getContentType(route); this.setHeaders(res, contentType); // 如果模板是字符串,直接使用 if (typeof route.responseTemplate === "string") { res.send(route.responseTemplate); return; } // 如果是对象,使用 mockjs 处理 const mockData = Mock.mock(route.responseTemplate); res.send(mockData); return; } catch (error) { this.handleError(res, error instanceof Error ? error : new Error(String(error))); } } getContentType(route) { const extension = route.filepath ? route.filepath.split(".").pop()?.toLowerCase() || "" : ""; const contentTypeMap = { txt: "text/plain", html: "text/html", md: "text/markdown", css: "text/css", js: "application/javascript", }; return contentTypeMap[extension] || "text/plain"; } } exports.TextResponseHandler = TextResponseHandler; //# sourceMappingURL=text-handler.js.map