Files
2022-02-03 13:28:24 +00:00

42 lines
864 B
Go

package plugin
import (
"encoding/base64"
"encoding/json"
"io"
"io/ioutil"
"os"
"github.com/drone/drone-go/drone"
)
func (args Args) writeCard(data Card) error {
result, _ := json.Marshal(data)
card := drone.CardInput{
Schema: "https://drone.github.io/drone-gitleaks/card.json",
Data: result,
}
writeCard(args.CardFilePath, &card)
return nil
}
func writeCard(path string, card interface{}) {
data, _ := json.Marshal(card)
switch {
case path == "/dev/stdout":
writeCardTo(os.Stdout, data)
case path == "/dev/stderr":
writeCardTo(os.Stderr, data)
case path != "":
ioutil.WriteFile(path, data, 0644)
}
}
func writeCardTo(out io.Writer, data []byte) {
encoded := base64.StdEncoding.EncodeToString(data)
io.WriteString(out, "\u001B]1338;")
io.WriteString(out, encoded)
io.WriteString(out, "\u001B]0m")
io.WriteString(out, "\n")
}