refactor(middleware): improve common options handling in apply method

This commit is contained in:
yusing 2025-07-20 12:46:30 +08:00
parent 731121595c
commit f39513483b

View file

@ -89,10 +89,14 @@ func (m *Middleware) apply(optsRaw OptionsRaw) gperr.Error {
if len(optsRaw) == 0 { if len(optsRaw) == 0 {
return nil return nil
} }
commonOpts := map[string]any{ commonOpts := map[string]any{}
"priority": optsRaw["priority"], if priority, ok := optsRaw["priority"]; ok {
"bypass": optsRaw["bypass"], commonOpts["priority"] = priority
} }
if bypass, ok := optsRaw["bypass"]; ok {
commonOpts["bypass"] = bypass
}
if len(commonOpts) > 0 {
if err := serialization.MapUnmarshalValidate(commonOpts, &m.commonOptions); err != nil { if err := serialization.MapUnmarshalValidate(commonOpts, &m.commonOptions); err != nil {
return err return err
} }
@ -100,6 +104,7 @@ func (m *Middleware) apply(optsRaw OptionsRaw) gperr.Error {
for k := range commonOpts { for k := range commonOpts {
delete(optsRaw, k) delete(optsRaw, k)
} }
}
return serialization.MapUnmarshalValidate(optsRaw, m.impl) return serialization.MapUnmarshalValidate(optsRaw, m.impl)
} }