%PDF- %PDF-
| Direktori : /usr/share/doc/node-undici/examples/proxy/ |
| Current File : //usr/share/doc/node-undici/examples/proxy/index.js |
const { Pool, Client } = require('../../')
const http = require('http')
const proxy = require('./proxy')
const pool = new Pool('http://localhost:4001', {
connections: 256,
pipelining: 1
})
async function run () {
await Promise.all([
new Promise(resolve => {
// Proxy
http.createServer((req, res) => {
proxy({ req, res, proxyName: 'example' }, pool).catch(err => {
if (res.headersSent) {
res.destroy(err)
} else {
for (const name of res.getHeaderNames()) {
res.removeHeader(name)
}
res.statusCode = err.statusCode || 500
res.end()
}
})
}).listen(4000, resolve)
}),
new Promise(resolve => {
// Upstream
http.createServer((req, res) => {
res.end('hello world')
}).listen(4001, resolve)
})
])
const client = new Client('http://localhost:4000')
const { body } = await client.request({
method: 'GET',
path: '/'
})
for await (const chunk of body) {
console.log(String(chunk))
}
}
run()
// TODO: Add websocket example.