pass def get_database_connection(mysql_settings): database_manager = DatabaseManager( host=mysql_settings["server"], port=mysql_settings["port"], user=mysql_settings["username"], password=mysql_settings["password"], db=mysql_settings["schema"], charset=mysql_settings["charset"] ) return database_manager http_server = HttpServer(environ, sys.stdin) database_manager = get_database_connection(settings["mysql"]) api_manager = ApiManager(http_server, database_manager) def handle_get(http_server, database_manager, ip, account, api_key): query_params = http_server.get_query_parameters() if "city" not in query_params: raise ApiParamNoCityProvidedError if "state" not in query_params: raise ApiParamNoStateCodeProvidedError raw_city_string = query_params["city"] raw_state_code_string = query_params["state"] city_string = raw_city_string.title() state_code_string = raw_state_code_string.upper()
#!/usr/bin/env python3 import sys sys.path.append("../../../") import re from os import environ import base64 import os from modules.HttpServer import HttpServer http_server = HttpServer(environ, sys.stdin) http_server.print_headers() import cgi, os import cgitb; cgitb.enable() try: # Windows needs stdio set for binary mode. import msvcrt msvcrt.setmode (0, os.O_BINARY) # stdin = 0 msvcrt.setmode (1, os.O_BINARY) # stdout = 1 except ImportError: pass form = cgi.FieldStorage() # Generator to buffer file chunks def fbuffer(f, chunk_size=10000): while True: chunk = f.read(chunk_size)
#!/usr/bin/env python3 import sys sys.path.append("../") from jinja2 import Environment, select_autoescape, FileSystemLoader from os import environ from settings.settings import settings from modules.HttpServer import HttpServer from modules.WebManager import WebManager http_server = HttpServer(environ, sys.stdin) web_manager = WebManager(http_server, None) template_folder = 'templates' def fetch_template(template_file): template_loader = FileSystemLoader(template_folder) env = Environment(loader=template_loader, autoescape=select_autoescape(['html', 'xml'])) template = env.get_template(template_file) return template def handle_get(http_server, database_manager, session, account): template = fetch_template("pricing.jinja.htm") keys = {} output = template.render(keys) http_server.print_headers() print(output)
#!/usr/bin/env python3 import sys sys.path.append("../") import re from os import environ from settings.settings import settings from modules.HttpServer import HttpServer from http import cookies http_server = HttpServer(environ, sys.stdin) query_parameters = http_server.get_query_parameters() if "drop_cookie" in query_parameters: http_server.set_cookie("test", "value") if "delete_cookie" in query_parameters: http_server.delete_cookie("test") http_server.print_headers() print("retrieved cookie:") http_cookies = http_server.get_cookies() print(http_cookies.output(header="Cookie:")) print("") print("") for key in environ.keys(): print(key, environ.get(key))