#!/usr/bin/env python3 # ============LICENSE_START======================================================= # Copyright (c) 2017-2021 AT&T Intellectual Property. All rights reserved. # Copyright (c) 2021 Fujitsu Ltd. # ================================================================================ # 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========================================================= import json from http.server import BaseHTTPRequestHandler from urllib import parse 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(bytes(message, "utf-8")) return def do_POST(self): content_len = int(self.headers.get("content-length", 0)) post_body = self.rfile.read(content_len) self.send_response(200) self.end_headers() data = json.loads(post_body) self.wfile.write(bytes(data["health"], "utf-8")) return def start_health_check_server() -> None: from http.server import HTTPServer server = HTTPServer(("", 10002), GetHandler) print("Starting server at http://localhost:10002") server.serve_forever() if __name__ == "__main__": start_health_check_server()