From 44089313231b33a65ed5058a5d1c6b1d0637aa38 Mon Sep 17 00:00:00 2001 From: Gokul Singaraju Date: Thu, 19 Apr 2018 22:34:23 -0400 Subject: Add healthcheck api Issue-ID: DCAEGEN2-456 Change-Id: I7455e357e5fb584f644768d33437ef43f53be6e5 Signed-Off-by: Gokul Singaraju --- bin/check_health.py | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 bin/check_health.py (limited to 'bin/check_health.py') diff --git a/bin/check_health.py b/bin/check_health.py new file mode 100755 index 0000000..53e9da6 --- /dev/null +++ b/bin/check_health.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 +# ============LICENSE_START======================================================= +# Copyright (c) 2017-2018 AT&T Intellectual Property. All rights reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +# +# ECOMP is a trademark and service mark of AT&T Intellectual Property. +from http.server import HTTPServer, BaseHTTPRequestHandler +from urllib import parse + +#from BaseHTTPServer import BaseHTTPRequestHandler +#import urlparse +import json + +class GetHandler(BaseHTTPRequestHandler): + + def do_GET(self): + parsed_path = parse.urlparse(self.path) + message = '\n'.join([ + 'CLIENT VALUES:', + 'client_address=%s (%s)' % (self.client_address, self.address_string()), + 'command=%s' % self.command, + 'path=%s' % self.path, + 'real path=%s' % parsed_path.path, + 'query=%s' % parsed_path.query, + 'request_version=%s' % self.request_version, + '', + 'SERVER VALUES:', + 'server_version=%s' % self.server_version, + 'sys_version=%s' % self.sys_version, + 'protocol_version=%s' % self.protocol_version, + '', + ]) + self.send_response(200) + self.end_headers() + self.wfile.write(message) + return + + def do_POST(self): + content_len = int(self.headers.getheader('content-length')) + post_body = self.rfile.read(content_len) + self.send_response(200) + self.end_headers() + + data = json.loads(post_body) + + self.wfile.write(data['health']) + return + +if __name__ == '__main__': + from http.server import HTTPServer + #from BaseHTTPServer import HTTPServer + server = HTTPServer(("", 10000), GetHandler) + print('Starting server at http://localhost:10000') + server.serve_forever() -- cgit 1.2.3-korg