blob: ba87113be609842226ecf0a651da4f8336c092ae (
plain)
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
|
'''Runs an HTTP server on port 8000 (or the first command line argument).'''
import BaseHTTPServer
import SimpleHTTPServer
import sys
import os.path
class MyHandler( SimpleHTTPServer.SimpleHTTPRequestHandler ):
def do_PUT( self ):
'''Just enough to work with karm.'''
path = self.translate_path(self.path)
rval = 200
if not os.path.exists( path ): rval = 201
f = file( path, "w" )
lines = []
while 1:
line = self.rfile.readline()
lines.append( line )
if line == '\r\n' or line == '\n' or line == '':
break
f.writelines( lines )
self.send_response( rval )
DEFAULT_PORT = 8000
if sys.argv[1:]: port = int(sys.argv[1])
else: port = DEFAULT_PORT
server_address = ('', port)
SimpleHTTPServer.SimpleHTTPRequestHandler.protocol_version = "HTTP/1.0"
httpd = BaseHTTPServer.HTTPServer(server_address, MyHandler )
sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()
|