httpython

A simple-to-use framework for http and https servers


License
MIT
Install
pip install httpython==0.2.7

Documentation

🌐 HttPython

A simple-to-use http and https server, simillar to flask, in python.

To-do

  • HTTP and HTTPS server class
  • Request class
  • Document class
  • Python code execution in html
  • MIME type in Document class
  • Default headers per server
  • Per host handler

How to use

from httpython.servers import HTTP_Server
from httpython import RequestMethod

# Define the port and host
host, port = "127.0.0.1", 80

# Instanciate the server object
server = HTTP_Server(host, port)
#For HTTPS servers, use HTTPS_Server(host, port, certificate_path, private_key_path)


# Create an handler for requests
@server.method(RequestMethod.GET, route="*", host="*") # Using the route and host parameters as '*' will use this handler as a fallback for the GET method.
def GET_Handler(request):
  # do stuff
  return Request.response(
      500, # Status code
      "Not Implemented", # Message
      {"Server": "httpy/2.0", "Connection": "closed"}, # Headers
      b"" # Body
  )

@server.method(RequestMethod.GET, route="/api/", host="*")
def API_Handler(request):
  # do stuff
  return Request.response(
      500, # Status code
      "Not Implemented", # Message
      {"Server": "httpy/2.0", "Connection": "closed"}, # Headers
      b'{"foo": "bar"}' # Body
  )

# Run the server
server.run()