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

40 lines
763 B
Go

package network
import (
"bytes"
"encoding/json"
"errors"
"floares/config"
"floares/lib/model"
"log"
"net/http"
)
func Create(r model.CreateNetworkRequest) error {
var create CreatNet
create.DnsEnabled = r.EnableDns
create.Driver = "bridge"
create.Name = r.Name
if r.Subnet != "" {
create.Subnets = []SubNet{
{
Subnet: r.Subnet,
},
}
}
b, _ := json.Marshal(&create)
log.Println(string(b))
req, _ := http.NewRequest(http.MethodPost, config.Entrypoint+"/v4.0.0/libpod/networks/create", bytes.NewReader(b))
res, err := http.DefaultClient.Do(req)
if err != nil {
return err
}
defer res.Body.Close()
var e model.ErrInfo
json.NewDecoder(res.Body).Decode(&e)
if e.Response > 400 {
return errors.New(e.Message)
}
return nil
}