Skip to content

Instantly share code, notes, and snippets.

@marcelweder
Created November 15, 2018 07:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save marcelweder/d29c54a510b6087ae7010a54b713e163 to your computer and use it in GitHub Desktop.
Save marcelweder/d29c54a510b6087ae7010a54b713e163 to your computer and use it in GitHub Desktop.
#!/usr/bin/python
import sys
import ssl
if sys.argv[1:]:
PORT = int(sys.argv[1])
else:
PORT = 4443
def logMessage(socket):
sa = socket.getsockname()
print("Serving on", sa[0], "port", sa[1], "...")
def wrapSocket(socket):
try:
securesocket = ssl.wrap_socket (socket, certfile='/usr/local/etc/httpd/server.crt', keyfile='/usr/local/etc/httpd/server.key', server_side=True)
except FileNotFoundError:
return socket
else:
return securesocket
if sys.version_info[0] < 3:
######################
# python 2
######################
import HTTPServer
import SimpleHTTPServer
httpd = BaseHTTPServer.HTTPServer(('127.0.0.1', PORT), SimpleHTTPServer.SimpleHTTPRequestHandler)
httpd.socket = wrapSocket(httpd.socket)
logMessage(httpd.socket)
httpd.serve_forever()
else:
######################
# python 3
######################
import http.server
import socketserver
Handler = http.server.SimpleHTTPRequestHandler
with socketserver.TCPServer(('127.0.0.1', PORT), Handler) as httpd:
httpd.socket = wrapSocket(httpd.socket)
logMessage(httpd.socket)
httpd.serve_forever()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment