UNPKG

mock-service-plugin

Version:
33 lines (29 loc) 1.09 kB
'use strict'; var Mock = require('mockjs'); var xml2js = require('xml2js'); var baseHandler = require('./base-handler.js'); class XmlResponseHandler extends baseHandler.BaseResponseHandler { constructor(options = {}) { super(options); this.builder = new xml2js.Builder(); } async handle(req, res, route) { try { this.setHeaders(res, "application/xml"); // 如果模板是字符串,尝试解析为对象 const responseTemplate = typeof route.responseTemplate === "string" ? JSON.parse(route.responseTemplate) : route.responseTemplate; // 使用 mockjs 处理数据 const mockData = Mock.mock(responseTemplate); // 转换为 XML const xml = this.builder.buildObject(mockData); res.send(xml); } catch (error) { this.handleError(res, error instanceof Error ? error : new Error(String(error))); } } } exports.XmlResponseHandler = XmlResponseHandler; //# sourceMappingURL=xml-handler.js.map