diff options
Diffstat (limited to 'lib/xdsserver/apiv1-config.go')
-rw-r--r-- | lib/xdsserver/apiv1-config.go | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/lib/xdsserver/apiv1-config.go b/lib/xdsserver/apiv1-config.go new file mode 100644 index 0000000..5a5bb6e --- /dev/null +++ b/lib/xdsserver/apiv1-config.go @@ -0,0 +1,40 @@ +package xdsserver + +import ( + "net/http" + "sync" + + "github.com/gin-gonic/gin" + common "github.com/iotbzh/xds-common/golib" + "github.com/iotbzh/xds-server/lib/xsapiv1" +) + +var confMut sync.Mutex + +// GetConfig returns server configuration +func (s *APIService) getConfig(c *gin.Context) { + confMut.Lock() + defer confMut.Unlock() + + c.JSON(http.StatusOK, s.Config) +} + +// SetConfig sets server configuration +func (s *APIService) setConfig(c *gin.Context) { + // FIXME - must be tested + c.JSON(http.StatusNotImplemented, "Not implemented") + + var cfgArg xsapiv1.APIConfig + + if c.BindJSON(&cfgArg) != nil { + common.APIError(c, "Invalid arguments") + return + } + + confMut.Lock() + defer confMut.Unlock() + + s.Log.Debugln("SET config: ", cfgArg) + + common.APIError(c, "Not Supported") +} |