Код: Выделить всё
const errorResponse = {
timestamp: new Date().toISOString(),
status: status,
errorCode: errorCode,
message: message,
details: details
};
Код: Выделить всё
pipelines:
default:
apiEndpoints:
- companyApi
policies:
- log:
- action:
message: 'Request received: ${req.method} ${req.url}'
- proxy:
- action:
serviceEndpoint: backendService
changeOrigin: true
- response-transformer:
- action:
body:
# Tried adding transformations here but no effect
Код: Выделить всё
response-wrapper policy
policy: () => {
return (req, res, next) => {
const originalSend = res.send.bind(res);
res.send = (body) => {
let backendMessage;
try {
backendMessage = typeof body === 'string' ? JSON.parse(body) : body;
} catch (e) {
backendMessage = body.toString();
}
const wrappedResponse = {
status: 'success',
message: backendMessage
};
res.set('Content-Type', 'application/json');
return originalSend(JSON.stringify(wrappedResponse));
};
next();
};
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... sformer-or
Мобильная версия