(код без описания)
Условие
Заголовок раздела «Условие»(код без описания)
// ListenAndServe runs dmsg Serve function alongside health endpointfunc (a *API) ListenAndServe(lAddr, pAddr, httpAddr string) error { errCh := make(chan error)
dmsgLn, err := net.Listen("tcp ", lAddr) if err != nil { return err }
dmsgLis := &proxyproto.Listener{Listener: dmsgLn} defer dmsgLis.Close() // nolint:errcheck go func(l net.Listener, address string) { if err := a.dmsgServer.Serve(l, address); err != nil { errCh <- err } }(dmsgLis, pAddr)
ln, err := net.Listen("tcp ", httpAddr) if err != nil { return err }
lis := &proxyproto.Listener{Listener: ln} defer lis.Close() // nolint:errcheck srv := &http.Server{ ReadTimeout: 3 * time.Second, WriteTimeout: 3 * time.Second, IdleTimeout: 30 * time.Second, ReadHeaderTimeout: 3 * time.Second, // Addr: lis, Handler: a.router, }
if err := srv.Serve(lis); err != nil { errCh <- err }
return err}Решение
Заголовок раздела «Решение»Источник: Wildberries / WB - 1 (Инфраструктурная команда)
← Какой тип данных для Cost (денежный фор… · Все задачи · Go · GetData возвращает данные из getter, ст… →