Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
doc-service
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
eifel邓鹏飞
doc-service
Commits
92fb2858
Commit
92fb2858
authored
Sep 19, 2024
by
Bess严根旺
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改回调方式
parent
3982ebcd
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
92 additions
and
3 deletions
+92
-3
callback_command.go
console/callback_command.go
+92
-3
No files found.
console/callback_command.go
View file @
92fb2858
...
@@ -2,22 +2,27 @@ package console
...
@@ -2,22 +2,27 @@ package console
import
(
import
(
"bufio"
"bufio"
"bytes"
"context"
"context"
"doc-service/domain/entity/serversitemicros/docservercallback"
"doc-service/domain/entity/serversitemicros/docservercallback"
"doc-service/domain/entity/serversitemicros/docserverproject"
"doc-service/domain/entity/serversitemicros/docserverproject"
"doc-service/infra/db"
"doc-service/infra/db"
"errors"
"fmt"
"fmt"
"github.com/nacos-group/nacos-sdk-go/v2/common/logger"
"github.com/nacos-group/nacos-sdk-go/v2/common/logger"
"gitlab.galaxy-immi.com/Backend-group/go-com/third/log"
"gitlab.galaxy-immi.com/Backend-group/go-com/third/log"
"io"
"net/http"
"os"
"os"
"strconv"
"strings"
"strings"
"time"
"time"
)
)
func
recoverPanicCallBack
()
{
func
recoverPanicCallBack
()
{
if
r
:=
recover
();
r
!=
nil
{
/*
if r := recover(); r != nil {
logger.Error("执行请求回调异常", r)
logger.Error("执行请求回调异常", r)
}
}
*/
}
}
// 执行回调
// 执行回调
...
@@ -25,7 +30,7 @@ func DoCallback() {
...
@@ -25,7 +30,7 @@ func DoCallback() {
defer
recoverPanicCallBack
()
defer
recoverPanicCallBack
()
fmt
.
Println
(
"开始请求回调..."
)
fmt
.
Println
(
"开始请求回调..."
)
ctxCall
:=
context
.
Background
()
ctxCall
:=
context
.
Background
()
tickerCallback
:=
time
.
NewTicker
(
2
0
*
time
.
Second
)
tickerCallback
:=
time
.
NewTicker
(
1
0
*
time
.
Second
)
defer
tickerCallback
.
Stop
()
defer
tickerCallback
.
Stop
()
go
func
()
{
go
func
()
{
...
@@ -97,6 +102,7 @@ func callBackUrl(c context.Context, projectId int32) (bool, string) {
...
@@ -97,6 +102,7 @@ func callBackUrl(c context.Context, projectId int32) (bool, string) {
docservercallback
.
ServerProjectID
(
projectId
),
docservercallback
.
ServerProjectID
(
projectId
),
)
.
First
(
c
)
)
.
First
(
c
)
fmt
.
Println
(
callInfo
)
var
msg
string
var
msg
string
var
res
bool
var
res
bool
res
=
true
res
=
true
...
@@ -118,7 +124,90 @@ func callBackUrl(c context.Context, projectId int32) (bool, string) {
...
@@ -118,7 +124,90 @@ func callBackUrl(c context.Context, projectId int32) (bool, string) {
if
res
{
if
res
{
//回调
//回调
if
callInfo
.
CallbackType
==
0
{
body
:=
[]
byte
(
callInfo
.
CallbackData
)
headers
:=
map
[
string
]
string
{
"Content-Type"
:
"application/json"
,
}
code
,
respBody
,
errs
:=
sendPostRequest
(
callInfo
.
CallbackURL
,
body
,
headers
)
if
code
!=
200
||
errs
!=
nil
{
msg
=
fmt
.
Sprintf
(
"post回调 : code = %d , 原因:%s"
,
code
,
errs
.
Error
())
res
=
false
}
logger
.
Info
(
"Response Body:"
,
string
(
respBody
))
}
else
{
code
,
respBody
,
errs
:=
sendGetRequest
(
callInfo
.
CallbackURL
)
if
code
!=
200
||
errs
!=
nil
{
msg
=
fmt
.
Sprintf
(
"get 回调 : code = %d , 原因:%s"
,
code
,
errs
.
Error
())
res
=
false
}
logger
.
Info
(
"Response Body:"
,
string
(
respBody
))
}
}
}
return
res
,
msg
return
res
,
msg
}
}
//回调业务方
func
sendGetRequest
(
url
string
)
(
int
,
[]
byte
,
error
)
{
resp
,
err
:=
http
.
Get
(
url
)
if
err
!=
nil
{
return
0
,
nil
,
err
}
defer
func
()
{
_
=
resp
.
Body
.
Close
()
}()
if
resp
==
nil
{
return
2
,
[]
byte
(
"响应为空"
),
errors
.
New
(
"响应请求为空"
)
}
if
resp
.
StatusCode
!=
200
{
return
4
,
[]
byte
(
"请求失败状态码 : "
),
errors
.
New
(
strconv
.
Itoa
(
resp
.
StatusCode
))
}
respBody
,
errs
:=
io
.
ReadAll
(
resp
.
Body
)
if
errs
!=
nil
{
return
5
,
[]
byte
(
"读取body失败"
),
errs
}
return
resp
.
StatusCode
,
respBody
,
nil
}
func
sendPostRequest
(
url
string
,
body
[]
byte
,
headers
map
[
string
]
string
)
(
int
,
[]
byte
,
error
)
{
req
,
err
:=
http
.
NewRequest
(
"POST"
,
url
,
bytes
.
NewBuffer
(
body
))
if
err
!=
nil
{
return
1
,
[]
byte
(
"创建post出错"
),
err
}
// 设置请求头
for
key
,
value
:=
range
headers
{
req
.
Header
.
Set
(
key
,
value
)
}
client
:=
&
http
.
Client
{}
resp
,
errDO
:=
client
.
Do
(
req
)
defer
func
()
{
_
=
resp
.
Body
.
Close
()
}()
if
resp
==
nil
{
return
2
,
[]
byte
(
"响应为空"
),
errors
.
New
(
"响应请求为空"
)
}
if
errDO
!=
nil
{
return
3
,
[]
byte
(
"http请求出错"
),
errDO
}
if
resp
.
StatusCode
!=
200
{
return
4
,
[]
byte
(
"请求失败状态码 : "
),
errors
.
New
(
strconv
.
Itoa
(
resp
.
StatusCode
))
}
respBody
,
errRes
:=
io
.
ReadAll
(
resp
.
Body
)
if
errRes
!=
nil
{
return
5
,
respBody
,
errors
.
New
(
strconv
.
Itoa
(
resp
.
StatusCode
))
}
return
200
,
respBody
,
nil
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment