()
| 138 | } |
| 139 | |
| 140 | func (e *decryptKeyError) UserError() string { |
| 141 | var status string |
| 142 | if e.isSuccessful() { |
| 143 | status = statusSuccess |
| 144 | } else { |
| 145 | status = statusFailed |
| 146 | } |
| 147 | header := fmt.Sprintf("%s: %s", e.keyName, status) |
| 148 | if e.isSuccessful() { |
| 149 | return header |
| 150 | } |
| 151 | var errMessages []string |
| 152 | for _, err := range e.errs { |
| 153 | wrappedErr := wordwrap.WrapString(err.Error(), 60) |
| 154 | reader := prefixer.New(strings.NewReader(wrappedErr), " | ") |
| 155 | // Safe to ignore this error, as reading from a strings.Reader can't fail |
| 156 | errMsg, _ := io.ReadAll(reader) |
| 157 | errMsg[0] = '-' |
| 158 | errMessages = append(errMessages, string(errMsg)) |
| 159 | } |
| 160 | joinedMsgs := strings.Join(errMessages, "\n\n") |
| 161 | reader := prefixer.New(strings.NewReader(joinedMsgs), " ") |
| 162 | errMsg, _ := io.ReadAll(reader) |
| 163 | return fmt.Sprintf("%s\n%s", header, string(errMsg)) |
| 164 | } |
nothing calls this directly
no test coverage detected