/usr/share/doc/python-medusa-doc/examples/script_server.py is in python-medusa-doc 1:0.5.4-7.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 40 41 42 | # -*- Mode: Python -*-
import re, sys
import asyncore
from medusa import http_server
from medusa import default_handler
from medusa import logger
from medusa import script_handler
from medusa import filesys
PUBLISHING_ROOT='/home/medusa'
CONTENT_LENGTH = re.compile ('Content-Length: ([0-9]+)', re.IGNORECASE)
class sample_input_collector:
def __init__ (self, request, length):
self.request = request
self.length = length
def collect_incoming_data (self, data):
print 'data from %s: <%s>' % (self.request, repr(data))
class post_script_handler (script_handler.script_handler):
def handle_request (self, request):
if request.command == 'post':
cl = default_handler.get_header(CONTENT_LENGTH, request.header)
ic = sample_input_collector(request, cl)
request.collector = ic
print request.header
return script_handler.script_handler.handle_request (self, request)
lg = logger.file_logger (sys.stdout)
fs = filesys.os_filesystem (PUBLISHING_ROOT)
dh = default_handler.default_handler (fs)
ph = post_script_handler (fs)
hs = http_server.http_server ('', 8081, logger_object = lg)
hs.install_handler (dh)
hs.install_handler (ph)
asyncore.loop()
|