fix(middleware): move bypass after finalize

This commit is contained in:
yusing 2025-05-10 21:19:03 +08:00
parent 53acf75c04
commit 0d41809630

View file

@ -129,10 +129,8 @@ func (m *Middleware) apply(optsRaw OptionsRaw) gperr.Error {
} }
func (m *Middleware) finalize() error { func (m *Middleware) finalize() error {
m.impl = m.withCheckBypass()
if finalizer, ok := m.impl.(MiddlewareFinalizer); ok { if finalizer, ok := m.impl.(MiddlewareFinalizer); ok {
finalizer.finalize() finalizer.finalize()
return nil
} }
if finalizer, ok := m.impl.(MiddlewareFinalizerWithError); ok { if finalizer, ok := m.impl.(MiddlewareFinalizerWithError); ok {
return finalizer.finalize() return finalizer.finalize()
@ -155,6 +153,7 @@ func (m *Middleware) New(optsRaw OptionsRaw) (*Middleware, gperr.Error) {
if err := mid.finalize(); err != nil { if err := mid.finalize(); err != nil {
return nil, gperr.Wrap(err) return nil, gperr.Wrap(err)
} }
mid.impl = mid.withCheckBypass()
return mid, nil return mid, nil
} }