basichttp server (забыл git add .)
[chanspy.git] / server / server.py
blobe6e3455017d3838a4aa0d1ab4a9cc88446a13479
1 # Based on webserver.py by Jon Berg (turtlemeat.com)
3 import sys
4 import os
5 from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
6 import mimetypes
8 os.chdir(sys.path[0])
9 server = None
10 # some constants
11 htdocs_dir = u'htdocs'
13 #---------------------------------------------#
14 class MyHandler(BaseHTTPRequestHandler):
15 def do_GET(self):
16 path = u'%s%s' %(htdocs_dir, self.path)
17 if os.path.isdir(path): path += u'/index.html'
19 if os.path.exists(path):
20 f = open(path)
22 self.send_response(200)
23 self.send_header('Content-type', self.get_content_type(path))
24 self.end_headers()
25 self.wfile.write(f.read())
26 f.close()
27 else:
28 self.send_error(404, 'File Not Found: %s' %path)
30 def get_content_type(self, filename):
31 return mimetypes.guess_type(filename)[0] or 'application/octet-stream'
33 #---------------------------------------------#
34 def start_server(port):
35 global server
36 server = HTTPServer(('', port), MyHandler)
37 server.serve_forever()
39 #---------------------------------------------#
40 def stop_server():
41 global server
42 server.socket.close()