plugins/heartbeat/json/Writer.py (25 lines of code) (raw):

import logging import json import requestresponder from edge.httputility import HttpUtility class Writer(requestresponder.RequestResponder): url = None def __init__(self, configFilePath): super(Writer, self).__init__(configFilePath) self.url = self._configuration.get('solr', 'url') + "/admin/ping" def get(self, requestHandler): super(Writer, self).get(requestHandler) try: httpUtility = HttpUtility() result = httpUtility.getResponse(self.url, self.onResponse) except BaseException as exception: raise exception def onResponse(self, response): self.requestHandler.set_header("Content-Type", "application/json") self.requestHandler.set_header('Access-Control-Allow-Origin', '*') if response.error: self.requestHandler.write(json.dumps({"online": False})) self.requestHandler.finish() else: self.requestHandler.write(json.dumps({"online": True})) self.requestHandler.finish()