chore(xo-server/proxies): use @vates/read-chunk
This commit is contained in:
parent
b4c6594333
commit
538253cdc1
@ -38,6 +38,7 @@
|
||||
"@vates/disposable": "^0.1.1",
|
||||
"@vates/multi-key-map": "^0.1.0",
|
||||
"@vates/parse-duration": "0.1.0",
|
||||
"@vates/read-chunk": "^0.1.1",
|
||||
"@xen-orchestra/async-map": "^0.1.2",
|
||||
"@xen-orchestra/backups": "^0.9.1",
|
||||
"@xen-orchestra/cron": "^1.0.6",
|
||||
|
@ -1,35 +0,0 @@
|
||||
function onEnd() {
|
||||
this.onError(new Error('unexpected end of stream'))
|
||||
}
|
||||
|
||||
function onError(reject, error) {
|
||||
reject(error)
|
||||
removeListeners.call(this)
|
||||
}
|
||||
|
||||
function onReadable(resolve, size) {
|
||||
const data = this.stream.read(size)
|
||||
if (data !== null) {
|
||||
resolve(data)
|
||||
removeListeners.call(this)
|
||||
}
|
||||
}
|
||||
|
||||
function removeListeners() {
|
||||
const { onEnd, onError, onReadable, stream } = this
|
||||
stream.removeListener('end', onEnd)
|
||||
stream.removeListener('error', onError)
|
||||
stream.removeListener('readable', onReadable)
|
||||
}
|
||||
|
||||
function Reader(stream, size, resolve, reject) {
|
||||
stream.on('end', (this.onEnd = onEnd.bind(this, reject)))
|
||||
stream.on('error', (this.onError = onError.bind(this, reject)))
|
||||
stream.on('readable', (this.onReadable = onReadable.bind(this, resolve, size)))
|
||||
this.stream = stream
|
||||
}
|
||||
|
||||
export default (stream, size) =>
|
||||
new Promise((resolve, reject) => {
|
||||
new Reader(stream, size, resolve, reject).onReadable()
|
||||
})
|
@ -5,6 +5,7 @@ import defer from 'golike-defer'
|
||||
import hrp from 'http-request-plus'
|
||||
import parseSetCookie from 'set-cookie-parser'
|
||||
import pumpify from 'pumpify'
|
||||
import readChunk from '@vates/read-chunk'
|
||||
import split2 from 'split2'
|
||||
import synchronized from 'decorator-synchronized'
|
||||
import { compileTemplate } from '@xen-orchestra/template'
|
||||
@ -18,7 +19,6 @@ import { timeout } from 'promise-toolbox'
|
||||
|
||||
import Collection from '../collection/redis'
|
||||
import patch from '../patch'
|
||||
import readChunk from '../_readStreamChunk'
|
||||
import { extractIpFromVmNetworks } from '../_extractIpFromVmNetworks'
|
||||
import { generateToken } from '../utils'
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user