func CreateUser(name, password string) (*common.User, error) { // create user struct user := new(common.User) user.Name = name user.Password = password user.PublicKey = "" // convert to json data, err := json.Marshal(user) if err != nil { return user, err } // request to server response, err := http.Post("http://localhost:8080/users", "application/json", bytes.NewReader(data)) if err != nil { return user, err } buf := new(bytes.Buffer) buf.ReadFrom(response.Body) if response.StatusCode != 200 { body := buf.String() return user, errors.New(body) } err = json.Unmarshal(buf.Bytes(), user) if err != nil { return user, err } return user, nil }