我有一个连接中间件,它有条件地操作Node响应。一般来说,我不想操作这些响应,除非它们是HTML(注意,响应本身是其他资源的代理,可以是任何东西),特别是因为我的中间件重载了writeHead
和write
和end
,以便插入一些转换逻辑。最初似乎res.getHeader('Content-Type')
是正确的方法,但结果几乎总是undefined
。相反,我现在查看req.headers.accept
值,然后尝试使用/^text\/html*./.test(accept)
进行测试。有没有更好的办法?
1条答案
按热度按时间2ic8powd1#
您正在尝试做的事情称为Content sniffing或MIME嗅探。
WHATWG有一个MIME Sniffing Standard,但我还没有找到实现它的node.js包。
您可能会发现doc-sniff很有用(但我没有使用过)。