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

Commit 0d521260237ca69a89044f23f10a13b44e1f53c9 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

View File

@ -162,6 +162,16 @@ func (functions *Functions) UnmarshalJSON(data []byte) error {
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.
func NewFunctions(functions ...Function) Functions {
return Functions(functions)