in opensearch-notebooks/src/main/kotlin/org/opensearch/notebooks/action/PluginBaseAction.kt [49:89]
override fun doExecute(
task: Task?,
request: Request,
listener: ActionListener<Response>
) {
val userStr: String? = client.threadPool().threadContext.getTransient<String>(OPENSEARCH_SECURITY_USER_INFO_THREAD_CONTEXT)
val user: User? = User.parse(userStr)
scope.launch {
try {
listener.onResponse(executeRequest(request, user))
} catch (exception: OpenSearchStatusException) {
log.warn("$LOG_PREFIX:OpenSearchStatusException: message:${exception.message}")
listener.onFailure(exception)
} catch (exception: OpenSearchSecurityException) {
log.warn("$LOG_PREFIX:OpenSearchSecurityException:", exception)
listener.onFailure(OpenSearchStatusException("Permissions denied: ${exception.message} - Contact administrator",
RestStatus.FORBIDDEN))
} catch (exception: VersionConflictEngineException) {
log.warn("$LOG_PREFIX:VersionConflictEngineException:", exception)
listener.onFailure(OpenSearchStatusException(exception.message, RestStatus.CONFLICT))
} catch (exception: IndexNotFoundException) {
log.warn("$LOG_PREFIX:IndexNotFoundException:", exception)
listener.onFailure(OpenSearchStatusException(exception.message, RestStatus.NOT_FOUND))
} catch (exception: InvalidIndexNameException) {
log.warn("$LOG_PREFIX:InvalidIndexNameException:", exception)
listener.onFailure(OpenSearchStatusException(exception.message, RestStatus.BAD_REQUEST))
} catch (exception: IllegalArgumentException) {
log.warn("$LOG_PREFIX:IllegalArgumentException:", exception)
listener.onFailure(OpenSearchStatusException(exception.message, RestStatus.BAD_REQUEST))
} catch (exception: IllegalStateException) {
log.warn("$LOG_PREFIX:IllegalStateException:", exception)
listener.onFailure(OpenSearchStatusException(exception.message, RestStatus.SERVICE_UNAVAILABLE))
} catch (exception: IOException) {
log.error("$LOG_PREFIX:Uncaught IOException:", exception)
listener.onFailure(OpenSearchStatusException(exception.message, RestStatus.FAILED_DEPENDENCY))
} catch (exception: Exception) {
log.error("$LOG_PREFIX:Uncaught Exception:", exception)
listener.onFailure(OpenSearchStatusException(exception.message, RestStatus.INTERNAL_SERVER_ERROR))
}
}
}