diff --git a/sdk/go.mod b/sdk/go.mod index 74d4cf90290697b6ee00dc7b158a77ff8b1f4f19..25f5f346654819dc6ec86fb735fa18179e249957 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -1,6 +1,6 @@ module gitee.com/openeuler/PilotGo/sdk -go 1.17 +go 1.20 require ( github.com/fsnotify/fsnotify v1.6.0 diff --git a/src/go.mod b/src/go.mod index 23427cb843286d600a82c1a785d364b45335f7d3..3ec1c9e4117b347c65db42b1326ad987284a9eef 100644 --- a/src/go.mod +++ b/src/go.mod @@ -1,9 +1,9 @@ module gitee.com/openeuler/PilotGo -go 1.17 +go 1.20 require ( - gitee.com/openeuler/PilotGo/sdk v0.0.0-20240308070532-3cd20c471b57 + gitee.com/openeuler/PilotGo/sdk v0.0.0-20240606053720-90de4fcd3daf github.com/casbin/casbin/v2 v2.69.1 github.com/casbin/gorm-adapter/v3 v3.18.0 github.com/dgrijalva/jwt-go v3.2.0+incompatible diff --git a/src/go.sum b/src/go.sum index b308552b9f2f2a5ea6eb40ed4ae96738b945d01a..c6fc805b0882abd89f2c2a4cca57cc71657fc56a 100644 --- a/src/go.sum +++ b/src/go.sum @@ -36,8 +36,8 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -gitee.com/openeuler/PilotGo/sdk v0.0.0-20240308070532-3cd20c471b57 h1:T1RlTpY4UE/zPETGgK0fvTR1E350AsoBLFhn+ekM6po= -gitee.com/openeuler/PilotGo/sdk v0.0.0-20240308070532-3cd20c471b57/go.mod h1:zEVmY3l48/CvR2kIM3DJpD/jWTG1qkOxRoHJii/D0us= +gitee.com/openeuler/PilotGo/sdk v0.0.0-20240606053720-90de4fcd3daf h1:8NBrAeMvIdDjc6RmaCULcJgYNXwum2AZuC7k0WW0S1s= +gitee.com/openeuler/PilotGo/sdk v0.0.0-20240606053720-90de4fcd3daf/go.mod h1:zEVmY3l48/CvR2kIM3DJpD/jWTG1qkOxRoHJii/D0us= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.1.2/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.6.0/go.mod h1:bjGvMhVMb+EEm3VRNQawDMUyMMjo+S5ewNjflkep/0Q= diff --git a/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/fileservice.go b/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/fileservice.go new file mode 100644 index 0000000000000000000000000000000000000000..5c8c5d7c120eb4170300527f9c5adc519ceb06e4 --- /dev/null +++ b/src/vendor/gitee.com/openeuler/PilotGo/sdk/plugin/client/fileservice.go @@ -0,0 +1,79 @@ +package client + +import ( + "bytes" + "crypto/tls" + "encoding/json" + "errors" + "io" + "net/http" + "os" + "path/filepath" + + "gitee.com/openeuler/PilotGo/sdk/logger" +) + +func (client *Client) FileUpload(filePath string, filename string) error { + // 以二进制方式上传文件 + file := filepath.Join(filePath, filename) + bodyBuf, contentType, err := getUploadBody(file) + if err != nil { + return err + } + + upload_addr := "http://" + client.Server() + "/api/v1/pluginapi/upload?filename=" + filename + req, err := http.NewRequest("POST", upload_addr, bodyBuf) + if err != nil { + return err + } + defer req.Body.Close() + + req.Header.Set("Content-Type", contentType) + req.AddCookie(&http.Cookie{ + Name: TokenCookie, + Value: client.token, + }) + + hc := &http.Client{Transport: &http.Transport{ + TLSClientConfig: &tls.Config{ + InsecureSkipVerify: true, + }, + }} + defer hc.CloseIdleConnections() + + resp, err := hc.Do(req) + if err != nil { + return err + } + defer resp.Body.Close() + + // 读取返回结果 + bs, err := io.ReadAll(resp.Body) + if err != nil { + logger.Error("没获取到:%s", err.Error()) + return err + } + res := &struct { + StatusCode int `json:"code"` + Data interface{} `json:"data"` + Message string `json:"msg"` + }{} + err = json.Unmarshal(bs, &res) + if err != nil { + logger.Error("解析出错:%s", err.Error()) + return err + } + if resp.StatusCode == http.StatusOK && res.StatusCode == http.StatusOK { + return nil + } + return errors.New(res.Message) +} + +// 以二进制格式上传文件 +func getUploadBody(filename string) (*bytes.Reader, string, error) { + bodyBytes, err := os.ReadFile(filename) + if err != nil { + return bytes.NewReader(bodyBytes), "", err + } + return bytes.NewReader(bodyBytes), "multipart/form-data", nil +} diff --git a/src/vendor/github.com/casbin/casbin/v2/model/policy.go b/src/vendor/github.com/casbin/casbin/v2/model/policy.go index a93a594da0ee0b7e009501deb0d92309835991c0..d4b4a7a52e778d8f430064fb060fc27d6376dc0d 100644 --- a/src/vendor/github.com/casbin/casbin/v2/model/policy.go +++ b/src/vendor/github.com/casbin/casbin/v2/model/policy.go @@ -108,7 +108,6 @@ func (model Model) GetPolicy(sec string, ptype string) [][]string { // GetFilteredPolicy gets rules based on field filters from a policy. func (model Model) GetFilteredPolicy(sec string, ptype string, fieldIndex int, fieldValues ...string) [][]string { - res := [][]string{} for _, rule := range model[sec][ptype].Policy { diff --git a/src/vendor/modules.txt b/src/vendor/modules.txt index 00370a59de45d48b4652f8caa9147b034ea97548..5a8c5eab3802cdedb05d7993676eeea66b5d4373 100644 --- a/src/vendor/modules.txt +++ b/src/vendor/modules.txt @@ -1,4 +1,4 @@ -# gitee.com/openeuler/PilotGo/sdk v0.0.0-20240308070532-3cd20c471b57 +# gitee.com/openeuler/PilotGo/sdk v0.0.0-20240606053720-90de4fcd3daf ## explicit; go 1.17 gitee.com/openeuler/PilotGo/sdk/common gitee.com/openeuler/PilotGo/sdk/logger