X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fagent%2Fapiv1.go;h=8ec26d259e6d1a0524e47237f75cdd6ad2ebaa42;hb=82ede02a56e12026b2dfb1baeacabfbd564006b1;hp=77b05baeaa966ebbb8c10d7d5c0912c9b22a4fd7;hpb=97ca1f277dc8b6973d6fa67add5593a9c395ce60;p=src%2Fxds%2Fxds-agent.git diff --git a/lib/agent/apiv1.go b/lib/agent/apiv1.go index 77b05ba..8ec26d2 100644 --- a/lib/agent/apiv1.go +++ b/lib/agent/apiv1.go @@ -1,3 +1,20 @@ +/* + * Copyright (C) 2017 "IoT.bzh" + * Author Sebastien Douheret + * + * 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