in internal/httpserver/httpserver.go [84:105]
func (o *Server) Start(ctx context.Context) error {
o.ctx = ctx
l, err := net.Listen("tcp", o.opts.Addr)
if err != nil {
if l, err = net.Listen("tcp6", o.opts.Addr); err != nil {
return fmt.Errorf("failed to listen on address: %w", err)
}
}
o.listener = l
if o.opts.TLSCertificate != "" && o.opts.TLSKey != "" {
go func() { o.logger.Info(o.server.ServeTLS(l, o.opts.TLSCertificate, o.opts.TLSKey).Error()) }()
} else {
go func() { o.logger.Info(o.server.Serve(l).Error()) }()
}
o.logger.Debugf("listening on %s", o.listener.Addr().(*net.TCPAddr).String())
return nil
}