Added copyright headers
[src/xds/xds-agent.git] / lib / agent / apiv1.go
index 77b05ba..8ec26d2 100644 (file)
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2017 "IoT.bzh"
+ * Author Sebastien Douheret <sebastien@iot.bzh>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
 package agent
 
 import (
@@ -8,7 +25,7 @@ import (
        "github.com/iotbzh/xds-agent/lib/xdsconfig"
 )
 
-const apiBaseUrl = "/api/v1"
+const apiBaseURL = "/api/v1"
 
 // APIService .
 type APIService struct {
@@ -21,7 +38,7 @@ type APIService struct {
 func NewAPIV1(ctx *Context) *APIService {
        s := &APIService{
                Context:     ctx,
-               apiRouter:   ctx.webServer.router.Group(apiBaseUrl),
+               apiRouter:   ctx.webServer.router.Group(apiBaseURL),
                serverIndex: 0,
        }
 
@@ -33,10 +50,11 @@ func NewAPIV1(ctx *Context) *APIService {
        s.apiRouter.GET("/browse", s.browseFS)
 
        s.apiRouter.GET("/projects", s.getProjects)
-       s.apiRouter.GET("/project/:id", s.getProject)
-       s.apiRouter.POST("/project", s.addProject)
-       s.apiRouter.POST("/project/sync/:id", s.syncProject)
-       s.apiRouter.DELETE("/project/:id", s.delProject)
+       s.apiRouter.GET("/projects/:id", s.getProject)
+       s.apiRouter.PUT("/projects/:id", s.updateProject)
+       s.apiRouter.POST("/projects", s.addProject)
+       s.apiRouter.POST("/projects/sync/:id", s.syncProject)
+       s.apiRouter.DELETE("/projects/:id", s.delProject)
 
        s.apiRouter.POST("/exec", s.execCmd)
        s.apiRouter.POST("/exec/:id", s.execCmd)
@@ -80,10 +98,10 @@ func (s *APIService) AddXdsServer(cfg xdsconfig.XDSServerConf) (*XdsServer, erro
 
                // Create a new server object
                if cfg.APIBaseURL == "" {
-                       cfg.APIBaseURL = apiBaseUrl
+                       cfg.APIBaseURL = apiBaseURL
                }
                if cfg.APIPartialURL == "" {
-                       cfg.APIPartialURL = "/server/" + strconv.Itoa(s.serverIndex)
+                       cfg.APIPartialURL = "/servers/" + strconv.Itoa(s.serverIndex)
                        s.serverIndex = s.serverIndex + 1
                }
 
@@ -95,8 +113,9 @@ func (s *APIService) AddXdsServer(cfg xdsconfig.XDSServerConf) (*XdsServer, erro
                // Passthrough routes (handle by XDS Server)
                grp := s.apiRouter.Group(svr.PartialURL)
                svr.SetAPIRouterGroup(grp)
-               svr.PassthroughGet("/sdks")
-               svr.PassthroughGet("/sdk/:id")
+
+               // Declare passthrough routes
+               s.sdksPassthroughInit(svr)
        }
 
        // Established connection