mirror of
https://github.com/chainreactors/spray.git
synced 2025-05-06 18:51:22 +00:00
42 lines
791 B
Go
42 lines
791 B
Go
package internal
|
|
|
|
import (
|
|
"bytes"
|
|
"encoding/json"
|
|
"github.com/chainreactors/logs"
|
|
"github.com/chainreactors/spray/pkg"
|
|
"io/ioutil"
|
|
"os"
|
|
)
|
|
|
|
func Format(filename string, color bool) {
|
|
var content []byte
|
|
var err error
|
|
if filename == "stdin" {
|
|
content, err = ioutil.ReadAll(os.Stdin)
|
|
} else {
|
|
content, err = ioutil.ReadFile(filename)
|
|
}
|
|
|
|
if err != nil {
|
|
return
|
|
}
|
|
var results []*pkg.Baseline
|
|
for _, line := range bytes.Split(bytes.TrimSpace(content), []byte("\n")) {
|
|
var result pkg.Baseline
|
|
err := json.Unmarshal(line, &result)
|
|
if err != nil {
|
|
logs.Log.Error(err.Error())
|
|
return
|
|
}
|
|
results = append(results, &result)
|
|
}
|
|
for _, result := range results {
|
|
if color {
|
|
logs.Log.Info(result.ColorString())
|
|
} else {
|
|
logs.Log.Info(result.String())
|
|
}
|
|
}
|
|
}
|