最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

登录Fastify响应主体

IT培训 admin 8浏览 0评论

登录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();
  });

登录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. 暂无评论