Example #1
0
func (b *backend) updateSettings(be engine.Backend) error {
	olds := b.backend.HTTPSettings()
	news := be.HTTPSettings()

	// Nothing changed in transport options
	if news.Equals(olds) {
		return nil
	}
	s, err := b.mux.transportSettings(be)
	if err != nil {
		return err
	}
	t := newTransport(s)
	b.transport.CloseIdleConnections()
	b.transport = t
	for _, f := range b.frontends {
		f.updateTransport(t)
	}
	return nil
}