File tree Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -175,11 +175,15 @@ bugfix:修改了路径匹配可能多加一个 `/` 的问题
1751751 . 修复自定义插件不能获取[ values] ( ) 的值,即 ` pattern plugin://{key} ` 无法正确获取ruleValue的问题
1761762 . 限制自定义插件的名称不能与内置的协议名称冲突,如果冲突则该自定义插件将无效
177177
178- # v0.9.0
178+ ### v0.9.0
1791791 . ** 重要bugfix:** Fix https post数据时可能出现pending的问题
1801802 . 新增[ etag] ( https://github.com/avwo/whistle/wiki/%E5%8A%9F%E8%83%BD%E5%88%97%E8%A1%A8#etag ) 协议,用于修改请求头的etag
1811813 . 支持通过` ua:// ` 、` referer:// ` 、` reqType:// ` 、` resType:// ` 等,把对应的字段置空
182182
183+ # v0.9.1
184+ 1 . 新增[ reqCharset] ( https://github.com/avwo/whistle/wiki/%E5%8A%9F%E8%83%BD%E5%88%97%E8%A1%A8#reqcharset ) 和[ resCharset] ( https://github.com/avwo/whistle/wiki/%E5%8A%9F%E8%83%BD%E5%88%97%E8%A1%A8#rescharset ) 两个协议,分别用于快速修改请求、响应的编码
185+ 2 . bugfix:修复可能出现请求出错的情况,https://github.com/nodejs/node/pull/4482
186+
183187### -
184188具体参考:[ 功能列表] ( https://github.com/avwo/whistle/wiki/%E5%8A%9F%E8%83%BD%E5%88%97%E8%A1%A8#%E7%9B%AE%E5%BD%95 )
185189
Original file line number Diff line number Diff line change 11var path = require ( 'path' ) ;
22var os = require ( 'os' ) ;
3+ var httpAgent = require ( 'http' ) . Agent ;
4+ var httpsAgent = require ( 'https' ) . Agent ;
35var fse = require ( 'fs-extra' ) ;
46var pkgConf = require ( '../package.json' ) ;
57var config = require ( 'util' ) . _extend ( exports , pkgConf ) ;
@@ -28,13 +30,20 @@ function getDataDir(dirname) {
2830exports . getDataDir = getDataDir ;
2931
3032function createAgent ( config , https ) {
31- return new ( require ( https ? 'https' : 'http' ) . Agent ) ( config )
33+ return new ( https ? httpsAgent : httpAgent ) ( config )
3234 . on ( 'free' , preventThrowOutError ) ;
3335}
3436
3537function preventThrowOutError ( socket ) {
36- socket . removeListener ( 'error' , noop ) ;
37- socket . on ( 'error' , noop ) ;
38+ socket . removeListener ( 'error' , freeSocketErrorListener ) ;
39+ socket . on ( 'error' , freeSocketErrorListener ) ;
40+ }
41+
42+ function freeSocketErrorListener ( err ) {
43+ var socket = this ;
44+ socket . destroy ( ) ;
45+ socket . emit ( 'agentRemove' ) ;
46+ socket . removeListener ( 'error' , freeSocketErrorListener ) ;
3847}
3948
4049function noop ( ) { }
You can’t perform that action at this time.
0 commit comments