* Handle errors from Octokit and convert to GitHubClientError
(error: unknown)
| 265 | * Handle errors from Octokit and convert to GitHubClientError |
| 266 | */ |
| 267 | private handleError(error: unknown): GitHubClientError { |
| 268 | if (error instanceof GitHubClientError) { |
| 269 | return error; |
| 270 | } |
| 271 | |
| 272 | if (error instanceof RequestError) { |
| 273 | const responseData = error.response?.data; |
| 274 | const message = this.extractErrorMessage(responseData, error.message); |
| 275 | const apiError: GitHubApiError | undefined = message ? { message } : undefined; |
| 276 | const errorMessage = this.getErrorMessage(error.status, apiError); |
| 277 | return new GitHubClientError(errorMessage, error.status, apiError); |
| 278 | } |
| 279 | |
| 280 | if (error instanceof Error) { |
| 281 | return new GitHubClientError(error.message); |
| 282 | } |
| 283 | |
| 284 | return new GitHubClientError("Unknown error occurred"); |
| 285 | } |
| 286 | |
| 287 | /** |
| 288 | * Extract error message from response data |
no test coverage detected