Update api routes name (plural nouns)
[src/xds/xds-agent.git] / lib / agent / xdsserver.go
index 5851a07..2037094 100644 (file)
@@ -214,7 +214,7 @@ func (xs *XdsServer) GetFolders(folders *[]XdsFolderConfig) error {
 
 // FolderAdd Send POST request to add a folder
 func (xs *XdsServer) FolderAdd(fld *XdsFolderConfig, res interface{}) error {
-       response, err := xs._HTTPPost("/folder", fld)
+       response, err := xs._HTTPPost("/folders", fld)
        if err != nil {
                return err
        }
@@ -229,12 +229,12 @@ func (xs *XdsServer) FolderAdd(fld *XdsFolderConfig, res interface{}) 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("/folders/" + id)
 }
 
 // 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("/folders/sync/"+id, "")
 }
 
 // SetAPIRouterGroup .
@@ -251,7 +251,13 @@ func (xs *XdsServer) PassthroughGet(url string) {
 
        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()
@@ -279,7 +285,13 @@ func (xs *XdsServer) PassthroughPost(url string) {
                        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