egg-multipart 中代码的分析(header)

Dicer.js 176 this._part = new PartStream(this._partOpts); this.emit(ev, this._part); 

this._part仅仅是一个stream readable接口如何解析headermultipart 里 this.parser = new Dicer(parserCfg); 里的parser变量是实例化一个DIcer,DIcer是一个集成WritableStream的类,这个类具有drain方法,drain是写入数据超过限制的方法。在Dicer中,通过StreamSearch解析boundary也就是header,然后设置Dicer里的_part变量为一个可读接口,触发这个变量的part方法,在multipart中利监听part方法,然后再监听part里的head方法,这是由Dicer里执行的_hparser决定,_hparser监听了header方法,解析了heder,触发_part里的header方法,也就是说HeaderParser里触发了header方法,被DIcer里的_hparser监听,再触发_part变量的header,被multipart方法监听,这样逐级上诉。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值