Feat: auth for remote callback / Modify: use map to store hooks in filesystem

This commit is contained in:
HFO4
2019-12-30 19:08:38 +08:00
parent ca9f44c06c
commit d29b7ef6f8
15 changed files with 158 additions and 59 deletions

View File

@@ -13,8 +13,12 @@ import (
)
// RemoteCallback 发送远程存储策略上传回调请求
func RemoteCallback(url string, body serializer.UploadCallback) error {
callbackBody, err := json.Marshal(body)
func RemoteCallback(url string, body serializer.RemoteUploadCallback) error {
callbackBody, err := json.Marshal(struct {
Data serializer.RemoteUploadCallback `json:"data"`
}{
Data: body,
})
if err != nil {
return serializer.NewError(serializer.CodeCallbackError, "无法编码回调正文", err)
}

View File

@@ -34,7 +34,7 @@ func TestRemoteCallback(t *testing.T) {
},
})
GeneralClient = clientMock
resp := RemoteCallback("http://test/test/url", serializer.UploadCallback{
resp := RemoteCallback("http://test/test/url", serializer.RemoteUploadCallback{
SourceName: "source",
})
asserts.NoError(resp)
@@ -59,7 +59,7 @@ func TestRemoteCallback(t *testing.T) {
},
})
GeneralClient = clientMock
resp := RemoteCallback("http://test/test/url", serializer.UploadCallback{
resp := RemoteCallback("http://test/test/url", serializer.RemoteUploadCallback{
SourceName: "source",
})
asserts.EqualValues(401, resp.(serializer.AppError).Code)
@@ -83,7 +83,7 @@ func TestRemoteCallback(t *testing.T) {
},
})
GeneralClient = clientMock
resp := RemoteCallback("http://test/test/url", serializer.UploadCallback{
resp := RemoteCallback("http://test/test/url", serializer.RemoteUploadCallback{
SourceName: "source",
})
asserts.Error(resp)
@@ -107,7 +107,7 @@ func TestRemoteCallback(t *testing.T) {
},
})
GeneralClient = clientMock
resp := RemoteCallback("http://test/test/url", serializer.UploadCallback{
resp := RemoteCallback("http://test/test/url", serializer.RemoteUploadCallback{
SourceName: "source",
})
asserts.Error(resp)
@@ -127,7 +127,7 @@ func TestRemoteCallback(t *testing.T) {
Err: errors.New("error"),
})
GeneralClient = clientMock
resp := RemoteCallback("http://test/test/url", serializer.UploadCallback{
resp := RemoteCallback("http://test/test/url", serializer.RemoteUploadCallback{
SourceName: "source",
})
asserts.Error(resp)