// Windows example: run starbonding-cli.exe and read its normalized restream JSON.
package main

import (
	"fmt"
	"os"
	"os/exec"
	"strings"
)

func main() {
	if len(os.Args) != 2 || os.Getenv("STARBONDING_PASSWORD") == "" {
		fmt.Fprintln(os.Stderr, "usage: set STARBONDING_PASSWORD, then starbonding_cli ACCOUNT")
		os.Exit(2)
	}
	cmd := exec.Command("starbonding-cli.exe", "--username", os.Args[1],
		"--password-stdin", "--restream-get")
	cmd.Env = make([]string, 0, len(os.Environ()))
	for _, value := range os.Environ() {
		if !strings.HasPrefix(strings.ToUpper(value), "STARBONDING_PASSWORD=") {
			cmd.Env = append(cmd.Env, value)
		}
	}
	cmd.Stdin = strings.NewReader(os.Getenv("STARBONDING_PASSWORD") + "\r\n")
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr
	if err := cmd.Run(); err != nil {
		if exit, ok := err.(*exec.ExitError); ok {
			os.Exit(exit.ExitCode())
		}
		fmt.Fprintln(os.Stderr, err)
		os.Exit(1)
	}
}
