Skip to content

Commit fb977c0

Browse files
committed
fix Elasticsearch url双斜杠导致无法保存的bug 2022-06-30 23:33:1656603229
1 parent 27e275e commit fb977c0

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

pkg/sv2es.go

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,24 @@ import (
77
"io/ioutil"
88
"log"
99
"net/http"
10+
"net/url"
1011
"strconv"
1112
)
1213

1314
var n1 int
1415
var nThreads chan struct{}
1516
var esUrl string
16-
var enableEsSv = GetVal("enableEsSv")
17+
var enableEsSv string
1718

1819
func init() {
20+
enableEsSv = GetVal("enableEsSv")
1921
if "true" == enableEsSv {
2022
esUrl = GetVal("esUrl")
2123
n1, _ = strconv.Atoi(GetValByDefault("esthread", "4"))
24+
//log.Println("es 初始化线程数 = ", n1)
2225
nThreads = make(chan struct{}, n1)
26+
} else {
27+
Log(mData)
2328
}
2429
}
2530

@@ -39,12 +44,14 @@ func SendReq(data1 interface{}, id, szType string) {
3944
if "true" != enableEsSv {
4045
return
4146
}
42-
data, err := json.Marshal(data1)
47+
//log.Println("enableEsSv = ", enableEsSv, " id= ", id, " type = ", szType)
48+
data, _ := json.Marshal(data1)
4349
nThreads <- struct{}{}
4450
defer func() {
4551
<-nThreads
4652
}()
47-
req, err := http.NewRequest("POST", esUrl+"/"+szType+"_index/_doc/"+id, bytes.NewReader(data))
53+
url := esUrl + szType + "_index/_doc/" + url.QueryEscape(id)
54+
req, err := http.NewRequest("POST", url, bytes.NewReader(data))
4855
if err != nil {
4956
Log(fmt.Sprintf("%s error %v", id, err))
5057
return
@@ -59,6 +66,7 @@ func SendReq(data1 interface{}, id, szType string) {
5966
req.Close = true
6067

6168
resp, err := http.DefaultClient.Do(req)
69+
//log.Println("url = ", url)
6270
if resp != nil {
6371
defer func() {
6472
err := resp.Body.Close() // resp 可能为 nil,不能读取 Body
@@ -75,6 +83,8 @@ func SendReq(data1 interface{}, id, szType string) {
7583
body, err := ioutil.ReadAll(resp.Body)
7684
if nil == err {
7785
Log(body)
86+
} else {
87+
Log(err)
7888
}
7989
//_, err = io.Copy(ioutil.Discard, resp.Body) // 手动丢弃读取完毕的数据
8090
// json.NewDecoder(resp.Body).Decode(&data)

0 commit comments

Comments
 (0)