Streaming: Fix BIND IPv6 handling (#31624)
parent
3c412578c9
commit
f6fb9b75db
|
@ -1351,15 +1351,23 @@ const startServer = async () => {
|
|||
* @param {function(string): void} [onSuccess]
|
||||
*/
|
||||
const attachServerWithConfig = (server, onSuccess) => {
|
||||
if (process.env.SOCKET || process.env.PORT && isNaN(+process.env.PORT)) {
|
||||
server.listen(process.env.SOCKET || process.env.PORT, () => {
|
||||
if (process.env.SOCKET) {
|
||||
server.listen(process.env.SOCKET, () => {
|
||||
if (onSuccess) {
|
||||
fs.chmodSync(server.address(), 0o666);
|
||||
onSuccess(server.address());
|
||||
}
|
||||
});
|
||||
} else {
|
||||
server.listen(+(process.env.PORT || 4000), process.env.BIND || '127.0.0.1', () => {
|
||||
const port = +(process.env.PORT || 4000);
|
||||
let bind = process.env.BIND ?? '127.0.0.1';
|
||||
// Web uses the URI syntax for BIND, which means IPv6 addresses may
|
||||
// be wrapped in square brackets:
|
||||
if (bind.startsWith('[') && bind.endsWith(']')) {
|
||||
bind = bind.slice(1, -1);
|
||||
}
|
||||
|
||||
server.listen(port, bind, () => {
|
||||
if (onSuccess) {
|
||||
onSuccess(`${server.address().address}:${server.address().port}`);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue