mirror of
https://github.com/kataras/iris.git
synced 2026-01-07 12:07:28 +00:00
MVC improvements: add HandleWebsocket that now registers events automatically based on the struct's methods(!) and fix a bug when more than one value of the same type is registered to a static field of a controller
Former-commit-id: e369d1426ac1a6b58314930a18362670317da3c1
This commit is contained in:
@@ -29,7 +29,22 @@ func (bv Values) CloneWithFieldsOf(s interface{}) Values {
|
||||
|
||||
// add the manual filled fields to the dependencies.
|
||||
filledFieldValues := LookupNonZeroFieldsValues(ValueOf(s), true)
|
||||
|
||||
for i, filled := range filledFieldValues {
|
||||
for _, v := range values {
|
||||
// do NOT keep duplicate equal values (09-Jul-2019).
|
||||
if reflect.DeepEqual(v, filled) {
|
||||
if last := len(filledFieldValues) - 1; last > i {
|
||||
filledFieldValues = append(filledFieldValues[:i], filledFieldValues[i+1:]...)
|
||||
} else {
|
||||
filledFieldValues = filledFieldValues[0:last]
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
values = append(values, filledFieldValues...)
|
||||
|
||||
return values
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user