chore(xo-server/proxies): use @vates/read-chunk

This commit is contained in:
Julien Fontanet 2021-04-07 12:31:16 +02:00
parent b4c6594333
commit 538253cdc1
3 changed files with 2 additions and 36 deletions

View File

@ -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",

View File

@ -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()
})

View File

@ -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'