最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

登录Fastify响应主体

运维笔记admin15浏览0评论

登录Fastify响应主体

登录Fastify响应主体

我怎样才能在log的Fastify响应主体?身体似乎没有公开为响应对象的一部分:

const fastify = require('fastify')({
  logger: {
    serializers: {
      res: function (res) { 
        // No body in req afaik
        return {  } 
      }
    }
  }
})
回答如下:

尝试这个:

const fastify = require('fastify')({
  logger: {
    serializers: {
      res: function (res) {
        return {
          statusCode: res.statusCode,
          payload: res.payload,
        }
      },
    }
  }
})

fastify.addHook('onSend', function (_request, reply, payload, next) {
  Object.assign(reply.res, { payload });
  next();
})

如果你的一些有效载荷的对象,你想,让他们在连载他们之前 - 好,系列化 - 你可以添加preSerialization挂钩,以及:

fastify
  .addHook('preSerialization', (_request, reply, payload, next) => {
    Object.assign(reply.res, { payload });
    next();
  })
  .addHook('onSend', (_request, reply, payload, next) => {
    if (!reply.res.payload) Object.assign(reply.res, { payload });
    next();
  });

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论