Simple HTTPS Server

Version 0.1

SimpleHTTPSServer

You've probably heard of SimpleHTTPServer. This is different in quite a few ways. First off it supports ssl when given a key and crt file.

Example


#! /usr/bin/python
import SimpleHTTPSServer
import json

class my_test(SimpleHTTPSServer.handler):
	"""docstring for my_test"""
	def __init__( self ):
		super(my_test, self).__init__()
		self.actions = [ ( 'post', '/', self.post_response ),
			( 'get', '/user/:username', self.get_user ),
			( 'get', '/:dir', self.index ) ]
		
	def post_response( self, method, page, data, variables ):
		form_data = self.form_data( data )
		output = json.dumps(form_data)
		headers = self.create_header()
		headers = self.add_header( headers, ( "Content-Type", "application/json") )
		return self.end_response( headers, output )
		
	def get_user( self, method, page, data, variables ):
		output = json.dumps(variables)
		headers = self.create_header()
		headers = self.add_header( headers, ( "Content-Type", "application/json") )
		return self.end_response( headers, output )
		
	def index( self, method, page, data, variables ):
		output = "Welcome"
		headers = self.create_header()
		headers = self.add_header( headers, ( "Content-Type", "text/html") )
		return self.end_response( headers, output )


def main():
	address = "0.0.0.0"
	port = 80

	server = SimpleHTTPSServer.server( ( address, port ), my_test(), threading = True, key = 'server.key', crt = 'server.crt' )

if __name__ == '__main__':
	main()