(Throwable throwable)
| 103 | } |
| 104 | |
| 105 | public Map<String, Object> encode(Throwable throwable) { |
| 106 | Require.nonNull("Throwable to encode", throwable); |
| 107 | |
| 108 | W3CError<?> err = fromThrowable(throwable); |
| 109 | |
| 110 | String message = |
| 111 | throwable.getMessage() == null |
| 112 | ? "<no message present in throwable>" |
| 113 | : throwable.getMessage(); |
| 114 | |
| 115 | StringWriter stacktrace = new StringWriter(); |
| 116 | try (PrintWriter printWriter = new PrintWriter(stacktrace)) { |
| 117 | throwable.printStackTrace(printWriter); |
| 118 | } |
| 119 | |
| 120 | if (throwable instanceof UnhandledAlertException) { |
| 121 | String text = ((UnhandledAlertException) throwable).getAlertText(); |
| 122 | if (text != null) { |
| 123 | return Map.of( |
| 124 | "value", |
| 125 | Map.of( |
| 126 | "error", |
| 127 | err.w3cErrorString, |
| 128 | "message", |
| 129 | message, |
| 130 | "stacktrace", |
| 131 | stacktrace.toString(), |
| 132 | "data", |
| 133 | Map.of("text", text))); |
| 134 | } |
| 135 | } |
| 136 | |
| 137 | return Map.of( |
| 138 | "value", |
| 139 | Map.of( |
| 140 | "error", err.w3cErrorString, "message", message, "stacktrace", stacktrace.toString())); |
| 141 | } |
| 142 | |
| 143 | public int getHttpStatusCode(Throwable throwable) { |
| 144 | Require.nonNull("Throwable to encode", throwable); |
nothing calls this directly
no test coverage detected