@@ -203,9 +203,13 @@ func (m *Registrar) Register(method, path string, h http.HandlerFunc) {
203203 m .OnRegister (method , path , h )
204204}
205205
206- // TLSConfigProvider is a fake [aghtls.TLSConfigProvider] implementation for
207- // tests.
208- type TLSConfigProvider struct {
206+ // Manager is a fake [aghtls.Manager] implementation for tests.
207+ type Manager struct {
208+ OnStart func (ctx context.Context ) (err error )
209+ OnShutdown func (ctx context.Context ) (err error )
210+ OnRefresh func (ctx context.Context ) (err error )
211+ OnSet func (ctx context.Context , certKey aghtls.TLSPair ) (err error )
212+ OnUpdates func (ctx context.Context ) (updates <- chan aghtls.UpdateSignal )
209213 OnTLSConfig func () (conf * tls.Config )
210214 OnRootCAs func () (cert * x509.CertPool )
211215 OnHasIPAddrs func () (ok bool )
@@ -214,42 +218,68 @@ type TLSConfigProvider struct {
214218 ctx context.Context ,
215219 servePlainDNS aghalg.NullBool ,
216220 conf * aghtls.ExtendedTLSConfig ,
217- ) (changed bool , err error )
221+ ) (restartHTTPS bool , err error )
222+ OnCipherSuites func () (cs []uint16 )
218223}
219224
220225// type check
221- var _ aghtls.TLSConfigProvider = (* TLSConfigProvider )(nil )
226+ var _ aghtls.Manager = (* Manager )(nil )
227+
228+ // CipherSuites implements the [aghtls.Manager] interface for *Manager.
229+ func (m * Manager ) CipherSuites () (cs []uint16 ) {
230+ return m .OnCipherSuites ()
231+ }
232+
233+ // Set implements the [aghtls.Manager] interface for *Manager.
234+ func (m * Manager ) Set (ctx context.Context , certKey aghtls.TLSPair ) (err error ) {
235+ return m .OnSet (ctx , certKey )
236+ }
237+
238+ // Start implements the [aghtls.Manager] interface for *Manager.
239+ func (m * Manager ) Start (ctx context.Context ) (err error ) {
240+ return m .OnStart (ctx )
241+ }
242+
243+ // Shutdown implements the [aghtls.Manager] interface for *Manager.
244+ func (m * Manager ) Shutdown (ctx context.Context ) (err error ) {
245+ return m .OnShutdown (ctx )
246+ }
247+
248+ // Refresh implements the [aghtls.Manager] interface for *Manager.
249+ func (m * Manager ) Refresh (ctx context.Context ) (err error ) {
250+ return m .OnRefresh (ctx )
251+ }
252+
253+ // Updates implements the [aghtls.Manager] interface for *Manager.
254+ func (m * Manager ) Updates (ctx context.Context ) (updates <- chan aghtls.UpdateSignal ) {
255+ return m .OnUpdates (ctx )
256+ }
222257
223- // TLSConfig implements the [aghtls.TLSConfigProvider] interface for
224- // *TLSConfigProvider.
225- func (t * TLSConfigProvider ) TLSConfig () (conf * tls.Config ) {
226- return t .OnTLSConfig ()
258+ // TLSConfig implements the [aghtls.Manager] interface for *Manager.
259+ func (m * Manager ) TLSConfig () (conf * tls.Config ) {
260+ return m .OnTLSConfig ()
227261}
228262
229- // RootCAs implements the [aghtls.TLSConfigProvider] interface for
230- // *TLSConfigProvider.
231- func (t * TLSConfigProvider ) RootCAs () (pool * x509.CertPool ) {
232- return t .OnRootCAs ()
263+ // RootCAs implements the [aghtls.Manager] interface for *Manager.
264+ func (m * Manager ) RootCAs () (pool * x509.CertPool ) {
265+ return m .OnRootCAs ()
233266}
234267
235- // HasIPAddrs implements the [aghtls.TLSConfigProvider] interface for
236- // *TLSConfigProvider.
237- func (t * TLSConfigProvider ) HasIPAddrs () (ok bool ) {
238- return t .OnHasIPAddrs ()
268+ // HasIPAddrs implements the [aghtls.Manager] interface for *Manager.
269+ func (m * Manager ) HasIPAddrs () (ok bool ) {
270+ return m .OnHasIPAddrs ()
239271}
240272
241- // ExtendedTLSConfig implements the [aghtls.TLSConfigProvider] interface for
242- // *TLSConfigProvider.
243- func (t * TLSConfigProvider ) ExtendedTLSConfig () (conf * aghtls.ExtendedTLSConfig ) {
244- return t .OnExtendedTLSConfig ()
273+ // ExtendedTLSConfig implements the [aghtls.Manager] interface for *Manager.
274+ func (m * Manager ) ExtendedTLSConfig () (conf * aghtls.ExtendedTLSConfig ) {
275+ return m .OnExtendedTLSConfig ()
245276}
246277
247- // SetExtendedTLSConfig implements the [aghtls.TLSConfigProvider] interface for
248- // *TLSConfigProvider.
249- func (t * TLSConfigProvider ) SetExtendedTLSConfig (
278+ // SetExtendedTLSConfig implements the [aghtls.Manager] interface for *Manager.
279+ func (m * Manager ) SetExtendedTLSConfig (
250280 ctx context.Context ,
251281 servePlainDNS aghalg.NullBool ,
252282 conf * aghtls.ExtendedTLSConfig ,
253- ) (changed bool , err error ) {
254- return t .OnSetExtendedTLSConfig (ctx , servePlainDNS , conf )
283+ ) (restartHTTPS bool , err error ) {
284+ return m .OnSetExtendedTLSConfig (ctx , servePlainDNS , conf )
255285}
0 commit comments