Add wizard proxy for localhost access in test container
This commit is contained in:
@@ -28,4 +28,4 @@ WORKDIR /app
|
||||
COPY package*.json ./
|
||||
RUN npm install && npm install -g playwright && playwright install chromium
|
||||
COPY . .
|
||||
CMD ["npx", "playwright", "test"]
|
||||
CMD ["bash", "-lc", "node server/wizard-proxy.mjs & npx playwright test"]
|
||||
|
||||
32
server/wizard-proxy.mjs
Normal file
32
server/wizard-proxy.mjs
Normal file
@@ -0,0 +1,32 @@
|
||||
import http from 'http'
|
||||
|
||||
const listenPort = Number(process.env.WIZARD_PORT || 8080)
|
||||
const targetHost = process.env.WIZARD_HOST || 'wizard'
|
||||
const targetPort = Number(process.env.WIZARD_PORT || 8080)
|
||||
|
||||
http
|
||||
.createServer((req, res) => {
|
||||
const proxyReq = http.request(
|
||||
{
|
||||
hostname: targetHost,
|
||||
port: targetPort,
|
||||
path: req.url,
|
||||
method: req.method,
|
||||
headers: req.headers,
|
||||
},
|
||||
(proxyRes) => {
|
||||
res.writeHead(proxyRes.statusCode || 502, proxyRes.headers)
|
||||
proxyRes.pipe(res)
|
||||
}
|
||||
)
|
||||
|
||||
proxyReq.on('error', (err) => {
|
||||
res.statusCode = 502
|
||||
res.end(`Bad gateway: ${err.message}`)
|
||||
})
|
||||
|
||||
req.pipe(proxyReq)
|
||||
})
|
||||
.listen(listenPort, '127.0.0.1', () => {
|
||||
console.log(`wizard proxy listening on 127.0.0.1:${listenPort} -> ${targetHost}:${targetPort}`)
|
||||
})
|
||||
Reference in New Issue
Block a user