aboutsummaryrefslogtreecommitdiff
path: root/weed/topology
diff options
context:
space:
mode:
authorsparklxb <sparklxb@163.com>2017-01-08 22:34:26 +0800
committersparklxb <sparklxb@163.com>2017-01-08 22:34:42 +0800
commitda9b672d1bce089c7a74e6b4bb68bb68cc4097f2 (patch)
tree7ade8269a6d1aed75c73b7882371637b008dbc2f /weed/topology
parent86a7c562751fc89d52da30425f1513b4553dfa8c (diff)
downloadseaweedfs-da9b672d1bce089c7a74e6b4bb68bb68cc4097f2.tar.xz
seaweedfs-da9b672d1bce089c7a74e6b4bb68bb68cc4097f2.zip
support additional header name-value pairs
Diffstat (limited to 'weed/topology')
-rw-r--r--weed/topology/store_replicate.go15
1 files changed, 12 insertions, 3 deletions
diff --git a/weed/topology/store_replicate.go b/weed/topology/store_replicate.go
index e76771140..aa312ac03 100644
--- a/weed/topology/store_replicate.go
+++ b/weed/topology/store_replicate.go
@@ -2,14 +2,14 @@ package topology
import (
"bytes"
+ "encoding/json"
"errors"
"fmt"
"net/http"
+ "net/url"
"strconv"
"strings"
- "net/url"
-
"github.com/chrislusf/seaweedfs/weed/glog"
"github.com/chrislusf/seaweedfs/weed/operation"
"github.com/chrislusf/seaweedfs/weed/security"
@@ -55,9 +55,18 @@ func ReplicatedWrite(masterNode string, s *storage.Store,
q.Set("cm", "true")
}
u.RawQuery = q.Encode()
+
+ pairMap := make(map[string]string)
+ if needle.HasPairs() {
+ err := json.Unmarshal(needle.Pairs, &pairMap)
+ if err != nil {
+ glog.V(0).Infoln("Unmarshal pairs error:", err)
+ }
+ }
+
_, err := operation.Upload(u.String(),
string(needle.Name), bytes.NewReader(needle.Data), needle.IsGzipped(), string(needle.Mime),
- needle.Pairs, jwt)
+ pairMap, jwt)
return err
}); err != nil {
ret = 0