Skip to content

Commit

Permalink
完善export给python引用
Browse files Browse the repository at this point in the history
  • Loading branch information
wangluozhe committed Dec 21, 2023
1 parent 3320abe commit 67b7627
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 11 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# requests
[![Gitee link address](https://img.shields.io/badge/gitee-reference-red?logo=gitee&logoColor=red&labelColor=white)](https://gitee.com/leegene/requests)[![Github link address](https://img.shields.io/badge/github-reference-blue?logo=github&logoColor=black&labelColor=white&color=black)](https://github.com/wangluozhe/requests)[![Go Version](https://img.shields.io/badge/Go%20Version-1.20-blue?logo=go&logoColor=white&labelColor=gray)]()[![Release Version](https://img.shields.io/badge/release-v1.2.2-blue)]()[![go documentation](https://img.shields.io/badge/go-documentation-blue)](https://pkg.go.dev/github.com/wangluozhe/requests)[![license GPL-3.0](https://img.shields.io/badge/license-GPL3.0-orange)](https://github.com/wangluozhe/requests/blob/main/LICENSE)
[![Gitee link address](https://img.shields.io/badge/gitee-reference-red?logo=gitee&logoColor=red&labelColor=white)](https://gitee.com/leegene/requests)[![Github link address](https://img.shields.io/badge/github-reference-blue?logo=github&logoColor=black&labelColor=white&color=black)](https://github.com/wangluozhe/requests)[![Go Version](https://img.shields.io/badge/Go%20Version-1.20-blue?logo=go&logoColor=white&labelColor=gray)]()[![Release Version](https://img.shields.io/badge/release-v1.2.3-blue)]()[![go documentation](https://img.shields.io/badge/go-documentation-blue)](https://pkg.go.dev/github.com/wangluozhe/requests)[![license GPL-3.0](https://img.shields.io/badge/license-GPL3.0-orange)](https://github.com/wangluozhe/requests/blob/main/LICENSE)

requests支持以下新特性:

Expand Down Expand Up @@ -28,7 +28,7 @@ go get github.com/wangluozhe/requests
## 下载指定版

```bash
go get github.com/wangluozhe/requests@v1.2.2
go get github.com/wangluozhe/requests@v1.2.3
```


Expand Down
27 changes: 19 additions & 8 deletions libs_dist/export.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,19 @@ func GetSession(id string) *requests.Session {
sessionsPoolLock.Lock()
defer sessionsPoolLock.Unlock()
if sp, ok := sessionsPool[id]; ok {
return sp.Get().(*requests.Session)
s := sp.Get().(*requests.Session)
sp.Put(s)
return s
}
sp := &sync.Pool{
New: func() interface{} {
return requests.NewSession()
},
}
sessionsPool[id] = sp
return sp.Get().(*requests.Session)
s := sp.Get().(*requests.Session)
sp.Put(s)
return s
}

//export request
Expand All @@ -50,17 +54,17 @@ func request(requestParamsChar *C.char) *C.char {
requestParams := libs.RequestParams{}
err := json.Unmarshal([]byte(requestParamsString), &requestParams)
if err != nil {
return C.CString(fmt.Sprintf(errorFormat, err.Error()))
return C.CString(fmt.Sprintf(errorFormat, "request->err := json.Unmarshal([]byte(requestParamsString), &requestParams) failed: "+err.Error()))
}

req, err := buildRequest(requestParams)
if err != nil {
return C.CString(fmt.Sprintf(errorFormat, err.Error()))
return C.CString(fmt.Sprintf(errorFormat, "request->req, err := buildRequest(requestParams) failed: "+err.Error()))
}

response, err := GetSession(requestParams.Id).Request(requestParams.Method, requestParams.Url, req)
if err != nil {
return C.CString(fmt.Sprintf(errorFormat, err.Error()))
return C.CString(fmt.Sprintf(errorFormat, "request->response, err := GetSession(requestParams.Id).Request(requestParams.Method, requestParams.Url, req) failed: "+err.Error()))
}

responseParams := make(map[string]interface{})
Expand All @@ -73,7 +77,7 @@ func request(requestParamsChar *C.char) *C.char {

responseParamsString, err := json.Marshal(responseParams)
if err != nil {
return C.CString(fmt.Sprintf(errorFormat, err.Error()))
return C.CString(fmt.Sprintf(errorFormat, "request->responseParamsString, err := json.Marshal(responseParams) failed: "+err.Error()))
}
responseString := C.CString(string(responseParamsString))

Expand Down Expand Up @@ -213,11 +217,18 @@ func freeMemory(responseId *C.char) {
return
}

C.free(unsafe.Pointer(ptr))
if ptr != nil {
defer C.free(unsafe.Pointer(ptr))
}

delete(unsafePointers, responseIdString)
}

func main() {

defer func() {
if r := recover(); r != nil {
// 处理 panic,可以记录日志或采取其他措施
fmt.Println("Recovered from panic:", r)
}
}()
}
2 changes: 1 addition & 1 deletion version.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@ package requests

const (
NAME = "golang-requests" // 名称
VERSION = "1.2.2" // 当前版本
VERSION = "1.2.3" // 当前版本
USER_AGENT = NAME + VERSION // UA
)

0 comments on commit 67b7627

Please sign in to comment.