我正在编写一个内部记录器,该记录器通过重写http
方法来拦截Node的request
模块。
这是我到目前为止的内容:
const http = require('http');
const oldHttpRequest = http.request;
http.request = (options, callback) => {
const newCallback = (res) => {
// Do logging logic here
return callback(res);
}
return oldHttpRequest(options, newCallback);
};
从options
和res
对象中,我可以检索到我需要的所有内容(方法,路径,请求标头,响应标头,响应正文等)。
除了传出的请求正文之外的所有内容。
我想念什么?
答案 0 :(得分:0)
设法做到这一点,如果有人感兴趣的话,发布解决方案。
我最后也不得不修改写方法:
<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
<settings defaultResolver="default" />
<resolvers>
<chain name="default">
<!-- Public Maven repository -->
<ibiblio name="public" m2compatible="true" />
<!-- Vaadin Add-on repository -->
<ibiblio name="vaadin-addons" usepoms="true" m2compatible="true"
root="http://maven.vaadin.com/vaadin-addons" />
<!-- Vaadin snapshots repository -->
<ibiblio name="vaadin-snapshots" usepoms="true" m2compatible="true"
root="https://oss.sonatype.org/content/repositories/vaadin-snapshots" />
<!-- Repository used for Vaadin modified smartsprites library -->
<dual name="custom-smartsprites">
<filesystem name="smartsprites-ivy">
<ivy pattern="${basedir}/ivymodule/[module]-ivy-[revision].xml" />
</filesystem>
<url name="smartsprites-artifact">
<artifact
pattern="http://dev.vaadin.com/svn/versions/6.8/build/smartsprites/lib/[artifact](-[revision]).[ext]" />
</url>
</dual>
</chain>
</resolvers>
<modules>
<!-- Vaadin patched SmartSprites -->
<module organisation="com.carrotsearch" name="smartsprites"
revision="0.2.3-itmill" resolver="custom-smartsprites" />
</modules>
</ivysettings>