flores/lib/http/volume/create.go
2025-04-18 17:40:44 +08:00

41 lines
827 B
Go

package volume
import (
"bytes"
"encoding/json"
"errors"
"floares/config"
"floares/lib/model"
"net/http"
)
func Create(r model.CreateVolume) error {
b, _ := json.Marshal(&r)
req, _ := http.NewRequest(http.MethodPost, config.Entrypoint+"/v4.0.0/libpod/volumes/create", bytes.NewReader(b))
res, err := http.DefaultClient.Do(req)
if err != nil {
return err
}
var e model.ErrInfo
if err := json.NewDecoder(res.Body).Decode(&e); err != nil {
return err
}
if e.Cause != "" {
return errors.New(e.Cause)
}
return nil
}
func Delete(name string) error {
req, _ := http.NewRequest(http.MethodDelete, config.Entrypoint+"/v4.0.0/libpod/volumes/"+name, nil)
res, err := http.DefaultClient.Do(req)
if err != nil {
return err
}
if res.StatusCode >= 300 {
return errors.New("delete failed")
}
return nil
}