Code Review
/
src
/
xds
/
xds-agent.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Update api routes name (plural nouns)
[src/xds/xds-agent.git]
/
lib
/
agent
/
xdsserver.go
diff --git
a/lib/agent/xdsserver.go
b/lib/agent/xdsserver.go
index
c900c9e
..
2037094
100644
(file)
--- a/
lib/agent/xdsserver.go
+++ b/
lib/agent/xdsserver.go
@@
-11,6
+11,7
@@
import (
"time"
"github.com/gin-gonic/gin"
"time"
"github.com/gin-gonic/gin"
+ "github.com/iotbzh/xds-agent/lib/apiv1"
"github.com/iotbzh/xds-agent/lib/xdsconfig"
common "github.com/iotbzh/xds-common/golib"
uuid "github.com/satori/go.uuid"
"github.com/iotbzh/xds-agent/lib/xdsconfig"
common "github.com/iotbzh/xds-common/golib"
uuid "github.com/satori/go.uuid"
@@
-84,7
+85,9
@@
type XdsFolderConfig struct {
// XdsPathMapConfig Path mapping specific data
type XdsPathMapConfig struct {
// XdsPathMapConfig Path mapping specific data
type XdsPathMapConfig struct {
- ServerPath string `json:"serverPath"`
+ ServerPath string `json:"serverPath"`
+ CheckFile string `json:"checkFile"`
+ CheckContent string `json:"checkContent"`
}
// XdsCloudSyncConfig CloudSync (AKA Syncthing) specific data
}
// XdsCloudSyncConfig CloudSync (AKA Syncthing) specific data
@@
-205,13
+208,13
@@
func (xs *XdsServer) GetVersion(res interface{}) error {
}
// GetFolders Send GET request to get current folder configuration
}
// GetFolders Send GET request to get current folder configuration
-func (xs *XdsServer) GetFolders(
prj
s *[]XdsFolderConfig) error {
- return xs._HTTPGet("/folders",
prj
s)
+func (xs *XdsServer) GetFolders(
folder
s *[]XdsFolderConfig) error {
+ return xs._HTTPGet("/folders",
folder
s)
}
// FolderAdd Send POST request to add a folder
}
// FolderAdd Send POST request to add a folder
-func (xs *XdsServer) FolderAdd(
prj
*XdsFolderConfig, res interface{}) error {
- response, err := xs._HTTPPost("/folder
", prj
)
+func (xs *XdsServer) FolderAdd(
fld
*XdsFolderConfig, res interface{}) error {
+ response, err := xs._HTTPPost("/folder
s", fld
)
if err != nil {
return err
}
if err != nil {
return err
}
@@
-226,12
+229,12
@@
func (xs *XdsServer) FolderAdd(prj *XdsFolderConfig, res interface{}) error {
// FolderDelete Send DELETE request to delete a folder
func (xs *XdsServer) FolderDelete(id string) error {
// FolderDelete Send DELETE request to delete a folder
func (xs *XdsServer) FolderDelete(id string) error {
- return xs.client.HTTPDelete("/folder/" + id)
+ return xs.client.HTTPDelete("/folder
s
/" + id)
}
// FolderSync Send POST request to force synchronization of a folder
func (xs *XdsServer) FolderSync(id string) error {
}
// FolderSync Send POST request to force synchronization of a folder
func (xs *XdsServer) FolderSync(id string) error {
- return xs.client.HTTPPost("/folder/sync/"+id, "")
+ return xs.client.HTTPPost("/folder
s
/sync/"+id, "")
}
// SetAPIRouterGroup .
}
// SetAPIRouterGroup .
@@
-248,7
+251,13
@@
func (xs *XdsServer) PassthroughGet(url string) {
xs.apiRouter.GET(url, func(c *gin.Context) {
var data interface{}
xs.apiRouter.GET(url, func(c *gin.Context) {
var data interface{}
- if err := xs._HTTPGet(url, &data); err != nil {
+ // Take care of param (eg. id in /projects/:id)
+ nURL := url
+ if strings.Contains(url, ":") {
+ nURL = strings.TrimPrefix(c.Request.URL.Path, xs.APIURL)
+ }
+ // Send Get request
+ if err := xs._HTTPGet(nURL, &data); err != nil {
if strings.Contains(err.Error(), "connection refused") {
xs.Connected = false
xs._NotifyState()
if strings.Contains(err.Error(), "connection refused") {
xs.Connected = false
xs._NotifyState()
@@
-276,7
+285,13
@@
func (xs *XdsServer) PassthroughPost(url string) {
return
}
return
}
- response, err := xs._HTTPPost(url, bodyReq[:n])
+ // Take care of param (eg. id in /projects/:id)
+ nURL := url
+ if strings.Contains(url, ":") {
+ nURL = strings.TrimPrefix(c.Request.URL.Path, xs.APIURL)
+ }
+ // Send Post request
+ response, err := xs._HTTPPost(nURL, bodyReq[:n])
if err != nil {
common.APIError(c, err.Error())
return
if err != nil {
common.APIError(c, err.Error())
return
@@
-364,7
+379,7
@@
func (xs *XdsServer) EventOff(evName string, id uuid.UUID) error {
}
// ProjectToFolder Convert Project structure to Folder structure
}
// ProjectToFolder Convert Project structure to Folder structure
-func (xs *XdsServer) ProjectToFolder(pPrj ProjectConfig) *XdsFolderConfig {
+func (xs *XdsServer) ProjectToFolder(pPrj
apiv1.
ProjectConfig) *XdsFolderConfig {
stID := ""
if pPrj.Type == XdsTypeCloudSync {
stID, _ = xs.SThg.IDGet()
stID := ""
if pPrj.Type == XdsTypeCloudSync {
stID, _ = xs.SThg.IDGet()
@@
-393,7
+408,7
@@
func (xs *XdsServer) ProjectToFolder(pPrj ProjectConfig) *XdsFolderConfig {
}
// FolderToProject Convert Folder structure to Project structure
}
// FolderToProject Convert Folder structure to Project structure
-func (xs *XdsServer) FolderToProject(fPrj XdsFolderConfig) ProjectConfig {
+func (xs *XdsServer) FolderToProject(fPrj XdsFolderConfig)
apiv1.
ProjectConfig {
inSync := fPrj.IsInSync
sts := fPrj.Status
inSync := fPrj.IsInSync
sts := fPrj.Status
@@
-402,27
+417,27
@@
func (xs *XdsServer) FolderToProject(fPrj XdsFolderConfig) ProjectConfig {
sts = fPrj.DataCloudSync.STSvrStatus
switch fPrj.DataCloudSync.STLocStatus {
sts = fPrj.DataCloudSync.STSvrStatus
switch fPrj.DataCloudSync.STLocStatus {
- case
StatusErrorConfig, StatusDisable,
StatusPause:
+ case
apiv1.StatusErrorConfig, apiv1.StatusDisable, apiv1.
StatusPause:
sts = fPrj.DataCloudSync.STLocStatus
break
sts = fPrj.DataCloudSync.STLocStatus
break
- case StatusSyncing:
- if sts !=
StatusErrorConfig && sts != StatusDisable && sts !=
StatusPause {
- sts = StatusSyncing
+ case
apiv1.
StatusSyncing:
+ if sts !=
apiv1.StatusErrorConfig && sts != apiv1.StatusDisable && sts != apiv1.
StatusPause {
+ sts =
apiv1.
StatusSyncing
}
break
}
break
- case StatusEnable:
+ case
apiv1.
StatusEnable:
// keep STSvrStatus
break
}
}
// keep STSvrStatus
break
}
}
- pPrj := ProjectConfig{
+ pPrj :=
apiv1.
ProjectConfig{
ID: fPrj.ID,
ServerID: xs.ID,
Label: fPrj.Label,
ClientPath: fPrj.ClientPath,
ServerPath: fPrj.DataPathMap.ServerPath,
ID: fPrj.ID,
ServerID: xs.ID,
Label: fPrj.Label,
ClientPath: fPrj.ClientPath,
ServerPath: fPrj.DataPathMap.ServerPath,
- Type: ProjectType(fPrj.Type),
+ Type:
apiv1.
ProjectType(fPrj.Type),
Status: sts,
IsInSync: inSync,
DefaultSdk: fPrj.DefaultSdk,
Status: sts,
IsInSync: inSync,
DefaultSdk: fPrj.DefaultSdk,
@@
-589,7
+604,7
@@
func (xs *XdsServer) _SocketConnect() error {
// Send event to notify changes
func (xs *XdsServer) _NotifyState() {
// Send event to notify changes
func (xs *XdsServer) _NotifyState() {
- evSts := ServerCfg{
+ evSts :=
apiv1.
ServerCfg{
ID: xs.ID,
URL: xs.BaseURL,
APIURL: xs.APIURL,
ID: xs.ID,
URL: xs.BaseURL,
APIURL: xs.APIURL,
@@
-597,7
+612,7
@@
func (xs *XdsServer) _NotifyState() {
ConnRetry: xs.ConnRetry,
Connected: xs.Connected,
}
ConnRetry: xs.ConnRetry,
Connected: xs.Connected,
}
- if err := xs.events.Emit(EVTServerConfig, evSts); err != nil {
+ if err := xs.events.Emit(
apiv1.
EVTServerConfig, evSts); err != nil {
xs.Log.Warningf("Cannot notify XdsServer state change: %v", err)
}
}
xs.Log.Warningf("Cannot notify XdsServer state change: %v", err)
}
}