-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathserver.py
More file actions
39 lines (33 loc) · 1.35 KB
/
server.py
File metadata and controls
39 lines (33 loc) · 1.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from http.server import BaseHTTPRequestHandler, HTTPServer
import mimetypes
import os
class testHTTPServer_RequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
if self.path == '/files':
self.send_header('Content-type', 'application/json')
self.end_headers()
try:
from modules.getfiles import get_dir_files_data
message = get_dir_files_data()
print(message.replace('\n', '\\n')[:150]+'...')
except:
message = open('data.cache', 'rt').read()
self.wfile.write(bytes(message, "utf8"))
else:
file_path = 'index.html'
if self.path and self.path != '/':
file_path = './'+self.path
if os.path.exists(file_path):
mimetype = mimetypes.MimeTypes().guess_type(file_path)[0]
self.send_header('Content-type', mimetype)
self.wfile.write(open(file_path, 'rb').read())
else:
self.send_header('Content-type', 'text/html')
self.end_headers()
if __name__ == '__main__':
print('starting server...')
server_address = ('127.0.0.1', 8080)
httpd = HTTPServer(server_address, testHTTPServer_RequestHandler)
print('running server...')
httpd.serve_forever()