Пример #1
0
    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()
Пример #2
0
#!/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)
Пример #3
0
#!/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)
Пример #4
0
#!/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))