diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..2571f61 --- /dev/null +++ b/go.mod @@ -0,0 +1,25 @@ +module github.com/fishjam/esm + +go 1.21.1 + +require ( + github.com/cheggaaa/pb v1.0.29 + github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 + github.com/jessevdk/go-flags v1.5.0 + github.com/mattn/go-isatty v0.0.14 + github.com/parnurzeal/gorequest v0.2.16 + github.com/valyala/fasthttp v1.51.0 +) + +require ( + github.com/andybalholm/brotli v1.0.5 // indirect + github.com/elazarl/goproxy v0.0.0-20231117061959-7cc037d33fb5 // indirect + github.com/klauspost/compress v1.17.0 // indirect + github.com/mattn/go-runewidth v0.0.4 // indirect + github.com/pkg/errors v0.9.1 // indirect + github.com/smartystreets/goconvey v1.8.1 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + golang.org/x/net v0.17.0 // indirect + golang.org/x/sys v0.13.0 // indirect + moul.io/http2curl v1.0.0 // indirect +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..08b0ceb --- /dev/null +++ b/go.sum @@ -0,0 +1,50 @@ +github.com/andybalholm/brotli v1.0.5 h1:8uQZIdzKmjc/iuPu7O2ioW48L81FgatrcpfFmiq/cCs= +github.com/andybalholm/brotli v1.0.5/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= +github.com/cheggaaa/pb v1.0.29 h1:FckUN5ngEk2LpvuG0fw1GEFx6LtyY2pWI/Z2QgCnEYo= +github.com/cheggaaa/pb v1.0.29/go.mod h1:W40334L7FMC5JKWldsTWbdGjLo0RxUKK73K+TuPxX30= +github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575 h1:kHaBemcxl8o/pQ5VM1c8PVE1PubbNx3mjUr09OqWGCs= +github.com/cihub/seelog v0.0.0-20170130134532-f561c5e57575/go.mod h1:9d6lWj8KzO/fd/NrVaLscBKmPigpZpn5YawRPw+e3Yo= +github.com/elazarl/goproxy v0.0.0-20231117061959-7cc037d33fb5 h1:m62nsMU279qRD9PQSWD1l66kmkXzuYcnVJqL4XLeV2M= +github.com/elazarl/goproxy v0.0.0-20231117061959-7cc037d33fb5/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= +github.com/fatih/color v1.9.0 h1:8xPHl4/q1VyqGIPif1F+1V3Y3lSmrq01EabUW3CoW5s= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= +github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= +github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= +github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM= +github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaaviA= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/parnurzeal/gorequest v0.2.16 h1:T/5x+/4BT+nj+3eSknXmCTnEVGSzFzPGdpqmUVVZXHQ= +github.com/parnurzeal/gorequest v0.2.16/go.mod h1:3Kh2QUMJoqw3icWAecsyzkpY7UzRfDhbRdTjtNwNiUE= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= +github.com/smarty/assertions v1.15.0 h1:cR//PqUBUiQRakZWqBiFFQ9wb8emQGDb0HeGdqGByCY= +github.com/smarty/assertions v1.15.0/go.mod h1:yABtdzeQs6l1brC900WlRNwj6ZR55d7B+E8C6HtKdec= +github.com/smartystreets/goconvey v1.8.1 h1:qGjIddxOk4grTu9JPOU31tVfq3cNdBlNa5sSznIX1xY= +github.com/smartystreets/goconvey v1.8.1/go.mod h1:+/u4qLyY6x1jReYOp7GOM2FSt8aP9CzCZL03bI28W60= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.51.0 h1:8b30A5JlZ6C7AS81RsWjYMQmrZG6feChmgAolCl1SqA= +github.com/valyala/fasthttp v1.51.0/go.mod h1:oI2XroL+lI7vdXyYoQk03bXBThfFl2cVdIA3Xl7cH8g= +golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +moul.io/http2curl v1.0.0 h1:6XwpyZOYsgZJrU8exnG87ncVkU1FVCcTRpwzOkTDUi8= +moul.io/http2curl v1.0.0/go.mod h1:f6cULg+e4Md/oW1cYmwW4IWQOVl2lGbmCNGOHvzX2kE= diff --git a/http.go b/http.go index be17470..406474b 100644 --- a/http.go +++ b/http.go @@ -25,10 +25,8 @@ import ( "fmt" log "github.com/cihub/seelog" "github.com/parnurzeal/gorequest" - "infini.sh/framework/core/util" - "infini.sh/framework/lib/fasthttp" + "github.com/valyala/fasthttp" "io" - "io/ioutil" "net/http" "net/url" "strings" @@ -208,7 +206,8 @@ func DoRequest(compress bool,method string,loadUrl string,auth *Auth,body []byte panic("empty response") } - log.Debug("received status code", resp.StatusCode, "from", string(resp.Header.Header()), "content", util.SubString(string(resp.Body()),0,500), req) + log.Debug("received status code", resp.StatusCode, "from", string(resp.Header.Header()), "content", + SubString(string(resp.Body()), 0, 500), req) if resp.StatusCode() == http.StatusOK || resp.StatusCode() == http.StatusCreated { @@ -281,7 +280,7 @@ func Request(method string,r string,auth *Auth,body *bytes.Buffer,proxy string)( resp,errs := client.Do(reqest) if errs != nil { - log.Error(util.SubString(errs.Error(),0,500)) + log.Error(SubString(errs.Error(), 0, 500)) return "",errs } @@ -291,23 +290,23 @@ func Request(method string,r string,auth *Auth,body *bytes.Buffer,proxy string)( } if resp.StatusCode != 200 { - b, _ := ioutil.ReadAll(resp.Body) + b, _ := io.ReadAll(resp.Body) return "",errors.New("server error: "+string(b)) } - respBody,err:=ioutil.ReadAll(resp.Body) + respBody, err := io.ReadAll(resp.Body) - log.Error(util.SubString(string(respBody),0,500)) + log.Error(SubString(string(respBody), 0, 500)) if err != nil { - log.Error(util.SubString(string(err.Error()),0,500)) + log.Error(SubString(string(err.Error()), 0, 500)) return string(respBody),err } if err != nil { return string(respBody),err } - io.Copy(ioutil.Discard, resp.Body) + io.Copy(io.Discard, resp.Body) defer resp.Body.Close() return string(respBody),nil } diff --git a/utils.go b/utils.go new file mode 100644 index 0000000..2378817 --- /dev/null +++ b/utils.go @@ -0,0 +1,19 @@ +package main + +import "fmt" + +func SubString(prim string, start int, end int) string { + if len(prim) == 0 { + fmt.Println("primitive str is empty") + } + if l := len(prim); l < end { + end = l + } + + value := prim + runes := []rune(value) + + safeSubString := string(runes[start:end]) + + return safeSubString +} diff --git a/v6.go b/v6.go index 085e26c..3f31e77 100644 --- a/v6.go +++ b/v6.go @@ -26,7 +26,7 @@ import ( "io/ioutil" "strings" "regexp" - "infini.sh/framework/core/util" + //"infini.sh/framework/core/util" ) type ESAPIV6 struct { @@ -199,7 +199,7 @@ func (s *ESAPIV6) UpdateIndexMapping(indexName string,settings map[string]interf res, err := Request("POST", url, s.Auth, &body,s.HttpProxy) if(err!=nil){ log.Error(url) - log.Error(util.ToJson(settings,false)) + log.Error(settings) log.Error(err,res) panic(err) }