This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
mandaye/pocs/poc1.py

54 lines
1.1 KiB
Python
Raw Normal View History

2011-07-28 18:14:09 +02:00
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from gevent import monkey
monkey.patch_all()
import urllib
2011-07-28 18:14:09 +02:00
import urllib2
import sys
import traceback
from cgi import escape
2011-07-28 18:14:09 +02:00
from gevent.pywsgi import WSGIServer
import poster.streaminghttp
2011-07-28 18:14:09 +02:00
opener = poster.streaminghttp.register_openers()
2011-07-28 18:14:09 +02:00
# TODO: create a true configuration file
2011-07-28 18:14:09 +02:00
drop_headers = ['transfer-encoding']
class RpRedirectHandler(urllib2.HTTPRedirectHandler):
def http_error_302(self, req, fp, code, msg, headers):
""" Disable the auto """
infourl = urllib.addinfourl(fp, headers, req.get_full_url())
infourl.code = code
infourl.msg = msg
return infourl
class DefaultErrorHandler(urllib2.HTTPDefaultErrorHandler):
def http_error_default(self, req, fp, code, msg, headers):
result = urllib2.HTTPError(req.get_full_url(), code, msg, headers, fp)
result.status = code
return result
2011-07-28 18:14:09 +02:00
def serve(host,port):
"""Convenience function to immediately start a server instance."""
s = WSGIServer((host, port), RequestApp(config))
s.serve_forever()
def _demo():
serve('localhost', 8088)
2011-07-28 18:14:09 +02:00
if __name__ == "__main__":
_demo()