Из того, что я знаю, http-маршрутизатор по умолчанию, а также маршрутизатор gorilla / mux помещают каждую точку входа входящего HTTP-запроса в свою собственную программу.Подобно доменам Node.js, где мы можем прикрепить запрос к домену, можем ли мы прикрепить запрос в Golang к программе, и если в программе есть какая-либо паника, мы отвечаем с ошибкой вместо того, чтобы выключать сервер?
В файле node.js это может выглядеть так:
const domain = require('domain');
const http = require('http');
const server = http.createServer((req,res) => {
const d = domain.create();
d.once('error', e =>{
res.json({error:e}); // check res.headersSent to see if already sent
});
res.once('finish', () => {
d.removeAllListeners(); // prevent memory leak
});
d.run(() => {
handleRequest(req,res);
});
});
Есть ли способ сделать что-то подобное с goroutines в Golang?