Files
Splunk_Docker/files/splunk-etc/apps/splunk-rolling-upgrade/bin/upgrade_shc.py
Brett Woodruff 28c8d411ad Inital Commit
2024-06-13 15:48:26 -04:00

48 lines
1.5 KiB
Python

import os
import sys
from typing import Optional
current_path = os.path.dirname(os.path.realpath(__file__))
app_specific_lib_path = os.path.join(current_path, "..", "lib")
sys.path.insert(0, app_specific_lib_path)
import logging
from splunkupgrade.utils.logger_utils import (
initialize_logger_for_rest_endpoints,
)
initialize_logger_for_rest_endpoints()
from splunkupgrade.processors.shc.shc_upgrade_rest_processor import ShcUpgradeRestProcessor
from splunkupgrade.utils.types import JsonObject
from splunk.persistconn.application import PersistentServerConnectionApplication
logger = logging.getLogger(__name__)
class UpgradeShcRestEndpoint(PersistentServerConnectionApplication):
def __init__(
self,
_command_line: Optional[str] = None,
_command_arg: Optional[str] = None,
):
super(PersistentServerConnectionApplication, self).__init__()
# Handle a syncronous from splunkd.
def handle(self, in_string: bytes) -> JsonObject:
"""
Called for a simple synchronous request.
@param in_string: request data passed in
@rtype: string or dict
@return: String to return in response. If a dict was passed in,
it will automatically be JSON encoded before being returned.
"""
return ShcUpgradeRestProcessor().handle(in_string)
def done(self):
"""
Virtual method which can be optionally overridden to receive a
callback after the request completes.
"""
pass