(data []byte)
| 136 | } |
| 137 | |
| 138 | func parseDebugTermStdinData(data []byte) ([]byte, error) { |
| 139 | trimmed := strings.TrimSpace(string(data)) |
| 140 | if len(trimmed) == 0 { |
| 141 | return data, nil |
| 142 | } |
| 143 | if trimmed[0] == '[' { |
| 144 | // try array of structs first |
| 145 | var structArr []debugTermStdinEntry |
| 146 | err := json.Unmarshal(data, &structArr) |
| 147 | if err == nil { |
| 148 | parts := make([]string, len(structArr)) |
| 149 | for i, entry := range structArr { |
| 150 | parts[i] = entry.Data |
| 151 | } |
| 152 | return []byte(strings.Join(parts, "")), nil |
| 153 | } |
| 154 | fmt.Fprintf(os.Stderr, "json read err %v\n", err) |
| 155 | // try array of strings |
| 156 | var strArr []string |
| 157 | err = json.Unmarshal(data, &strArr) |
| 158 | if err == nil { |
| 159 | return []byte(strings.Join(strArr, "")), nil |
| 160 | } |
| 161 | } |
| 162 | return data, nil |
| 163 | } |
| 164 | |
| 165 | func formatDebugTermHex(data []byte) string { |
| 166 | return hex.Dump(data) |
no outgoing calls