本文整理汇总了Golang中github.com/xtracdev/xavi/kvstore.KVStore.Flush方法的典型用法代码示例。如果您正苦于以下问题:Golang KVStore.Flush方法的具体用法?Golang KVStore.Flush怎么用?Golang KVStore.Flush使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/xtracdev/xavi/kvstore.KVStore
的用法示例。
在下文中一共展示了KVStore.Flush方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: PutDefinition
//PutDefinition creates or updates a server definition
func (ServerDef) PutDefinition(kvs kvstore.KVStore, resp http.ResponseWriter, req *http.Request) (interface{}, error) {
body, err := ioutil.ReadAll(req.Body)
req.Body.Close()
log.Info(fmt.Sprintf("Put request with payload %s", string(body)))
if err != nil {
resp.WriteHeader(http.StatusInternalServerError)
return nil, nil
}
serverName := resourceIDFromURI(req.RequestURI)
log.Info(serverName)
if serverName == "" {
resp.WriteHeader(http.StatusNotFound)
return nil, errServiceResourceMissing
}
serverConfig := new(config.ServerConfig)
err = json.Unmarshal(body, serverConfig)
if err != nil {
log.Warn("Error unmarshaling request body")
resp.WriteHeader(http.StatusBadRequest)
return nil, err
}
serverConfig.Name = serverName
err = serverConfig.Store(kvs)
if err != nil {
log.Warn("Error persisting server definition")
resp.WriteHeader(http.StatusInternalServerError)
return nil, err
}
err = kvs.Flush()
if err != nil {
return nil, err
}
return nil, nil
}