fix: Propagate bucket policy update in a distributed setup (#6135)

Commit 0d52126023 caused a regression in setting
a new bucket policy in a distributed setup. The reason is that gob is not able
to encode fields declared as interfaces unless we provide GobEncode() and GobDecode()
This PR adds them by using json marshaller and unmarshaller that are already
implemented for Functions interface.
This commit is contained in:
Anis Elleuch 2018-07-09 11:18:48 +02:00 committed by kannappanr
parent c310cbbe89
commit 4ddc222f46
1 changed files with 10 additions and 0 deletions

View File

@ -162,6 +162,16 @@ func (functions *Functions) UnmarshalJSON(data []byte) error {
return nil return nil
} }
// GobEncode - encodes Functions to gob data.
func (functions Functions) GobEncode() ([]byte, error) {
return functions.MarshalJSON()
}
// GobDecode - decodes gob data to Functions.
func (functions *Functions) GobDecode(data []byte) error {
return functions.UnmarshalJSON(data)
}
// NewFunctions - returns new Functions with given function list. // NewFunctions - returns new Functions with given function list.
func NewFunctions(functions ...Function) Functions { func NewFunctions(functions ...Function) Functions {
return Functions(functions) return Functions(functions)