Skip to content

Commit

Permalink
Revert "chore: less async await (#2463)"
Browse files Browse the repository at this point in the history
This reverts commit e7ab79a.
  • Loading branch information
mcollina committed Nov 27, 2023
1 parent e7ab79a commit 600a952
Show file tree
Hide file tree
Showing 7 changed files with 50 additions and 48 deletions.
8 changes: 4 additions & 4 deletions lib/agent.js
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ class Agent extends DispatcherBase {
return dispatcher.dispatch(opts, handler)
}

[kClose] () {
async [kClose] () {
const closePromises = []
for (const ref of this[kClients].values()) {
const client = ref.deref()
Expand All @@ -128,10 +128,10 @@ class Agent extends DispatcherBase {
}
}

return Promise.all(closePromises)
await Promise.all(closePromises)
}

[kDestroy] (err) {
async [kDestroy] (err) {
const destroyPromises = []
for (const ref of this[kClients].values()) {
const client = ref.deref()
Expand All @@ -141,7 +141,7 @@ class Agent extends DispatcherBase {
}
}

return Promise.all(destroyPromises)
await Promise.all(destroyPromises)
}
}

Expand Down
8 changes: 3 additions & 5 deletions lib/api/readable.js
Original file line number Diff line number Diff line change
Expand Up @@ -209,14 +209,12 @@ function isUnusable (self) {
return util.isDisturbed(self) || isLocked(self)
}

function consume (stream, type) {
async function consume (stream, type) {
if (isUnusable(stream)) {
return Promise.reject(new TypeError('unusable'))
throw new TypeError('unusable')
}

if (stream[kConsume]) {
return Promise.reject(new assert.AssertionError('null != true'))
}
assert(!stream[kConsume])

return new Promise((resolve, reject) => {
stream[kConsume] = {
Expand Down
4 changes: 2 additions & 2 deletions lib/client.js
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,7 @@ class Client extends DispatcherBase {
return this[kNeedDrain] < 2
}

[kClose] () {
async [kClose] () {
// TODO: for H2 we need to gracefully flush the remaining enqueued
// request and close each stream.
return new Promise((resolve) => {
Expand All @@ -392,7 +392,7 @@ class Client extends DispatcherBase {
})
}

[kDestroy] (err) {
async [kDestroy] (err) {
return new Promise((resolve) => {
const requests = this[kQueue].splice(this[kPendingIdx])
for (let i = 0; i < requests.length; i++) {
Expand Down
4 changes: 2 additions & 2 deletions lib/fetch/body.js
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,8 @@ function extractBody (object, keepalive = false) {
}
return controller.desiredSize > 0
},
cancel (reason) {
return iterator.return()
async cancel (reason) {
await iterator.return()
},
type: undefined
})
Expand Down
4 changes: 2 additions & 2 deletions lib/fetch/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -1808,10 +1808,10 @@ async function httpNetworkFetch (
fetchParams.controller.controller = controller
},
async pull (controller) {
pullAlgorithm(controller)
await pullAlgorithm(controller)
},
async cancel (reason) {
cancelAlgorithm(reason)
await cancelAlgorithm(reason)
}
},
{
Expand Down
4 changes: 2 additions & 2 deletions lib/pool-base.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ class PoolBase extends DispatcherBase {
return this[kStats]
}

[kClose] () {
async [kClose] () {
if (this[kQueue].isEmpty()) {
return Promise.all(this[kClients].map(c => c.close()))
} else {
Expand All @@ -121,7 +121,7 @@ class PoolBase extends DispatcherBase {
}
}

[kDestroy] (err) {
async [kDestroy] (err) {
while (true) {
const item = this[kQueue].shift()
if (!item) {
Expand Down
66 changes: 35 additions & 31 deletions lib/proxy-agent.js
Original file line number Diff line number Diff line change
Expand Up @@ -82,38 +82,40 @@ class ProxyAgent extends DispatcherBase {
this[kClient] = clientFactory(resolvedUrl, { connect })
this[kAgent] = new Agent({
...opts,
connect: (opts, callback) => {
connect: async (opts, callback) => {
let requestedHost = opts.host
if (!opts.port) {
requestedHost += `:${defaultProtocolPort(opts.protocol)}`
}
this[kClient].connect({
origin,
port,
path: requestedHost,
signal: opts.signal,
headers: {
...this[kProxyHeaders],
host
}
}).catch(callback)
.then(({ socket, statusCode }) => {
if (statusCode !== 200) {
socket.on('error', () => { }).destroy()
callback(new RequestAbortedError('Proxy response !== 200 when HTTP Tunneling'))
}
if (opts.protocol !== 'https:') {
callback(null, socket)
return
try {
const { socket, statusCode } = await this[kClient].connect({
origin,
port,
path: requestedHost,
signal: opts.signal,
headers: {
...this[kProxyHeaders],
host
}
let servername
if (this[kRequestTls]) {
servername = this[kRequestTls].servername
} else {
servername = opts.servername
}
this[kConnectEndpoint]({ ...opts, servername, httpSocket: socket }, callback)
}).catch(callback)
})
if (statusCode !== 200) {
socket.on('error', () => {}).destroy()
callback(new RequestAbortedError('Proxy response !== 200 when HTTP Tunneling'))
}
if (opts.protocol !== 'https:') {
callback(null, socket)
return
}
let servername
if (this[kRequestTls]) {
servername = this[kRequestTls].servername
} else {
servername = opts.servername
}
this[kConnectEndpoint]({ ...opts, servername, httpSocket: socket }, callback)
} catch (err) {
callback(err)
}
}
})
}
Expand All @@ -134,12 +136,14 @@ class ProxyAgent extends DispatcherBase {
)
}

[kClose] () {
return Promise.all([this[kAgent].close, this[kClient].close])
async [kClose] () {
await this[kAgent].close()
await this[kClient].close()
}

[kDestroy] () {
return Promise.all([this[kAgent].destroy, this[kClient].destroy])
async [kDestroy] () {
await this[kAgent].destroy()
await this[kClient].destroy()
}
}

Expand Down

0 comments on commit 600a952

Please sign in to comment.