Python wsgiref.simple_server.WSGIRequestHandler() Examples
The following are 26
code examples of wsgiref.simple_server.WSGIRequestHandler().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
wsgiref.simple_server
, or try the search function
.
Example #1
Source File: basehttp.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def get_environ(self): # Strip all headers with underscores in the name before constructing # the WSGI environ. This prevents header-spoofing based on ambiguity # between underscores and dashes both normalized to underscores in WSGI # env vars. Nginx and Apache 2.4+ both do this as well. for k, v in self.headers.items(): if '_' in k: del self.headers[k] env = super(WSGIRequestHandler, self).get_environ() path = self.path if '?' in path: path = path.partition('?')[0] path = uri_to_iri(path).encode(UTF_8) # Under Python 3, non-ASCII values in the WSGI environ are arbitrarily # decoded with ISO-8859-1. We replicate this behavior here. # Refs comment in `get_bytes_from_wsgi()`. env['PATH_INFO'] = path.decode(ISO_8859_1) if six.PY3 else path return env
Example #2
Source File: basehttp.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def handle(self): """Copy of WSGIRequestHandler, but with different ServerHandler""" self.raw_requestline = self.rfile.readline(65537) if len(self.raw_requestline) > 65536: self.requestline = '' self.request_version = '' self.command = '' self.send_error(414) return if not self.parse_request(): # An error code has been sent, just exit return handler = ServerHandler( self.rfile, self.wfile, self.get_stderr(), self.get_environ() ) handler.request_handler = self # backpointer for logging handler.run(self.server.get_app())
Example #3
Source File: basehttp.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def run(addr, port, wsgi_handler, ipv6=False, threading=False): server_address = (addr, port) if threading: httpd_cls = type(str('WSGIServer'), (socketserver.ThreadingMixIn, WSGIServer), {}) else: httpd_cls = WSGIServer httpd = httpd_cls(server_address, WSGIRequestHandler, ipv6=ipv6) if threading: # ThreadingMixIn.daemon_threads indicates how threads will behave on an # abrupt shutdown; like quitting the server by the user or restarting # by the auto-reloader. True means the server will not wait for thread # termination before it quits. This will make auto-reloader faster # and will prevent the need to kill the server manually if a thread # isn't terminating correctly. httpd.daemon_threads = True httpd.set_app(wsgi_handler) httpd.serve_forever()
Example #4
Source File: bottle.py From props with MIT License | 5 votes |
def run(self, handler): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler if self.quiet: class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #5
Source File: basehttp.py From GTDWeb with GNU General Public License v2.0 | 5 votes |
def __init__(self, *args, **kwargs): self.style = color_style() super(WSGIRequestHandler, self).__init__(*args, **kwargs)
Example #6
Source File: bottle.py From props with MIT License | 5 votes |
def run(self, handler): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler if self.quiet: class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #7
Source File: anyserver.py From termite-visualizations with BSD 3-Clause "New" or "Revised" License | 5 votes |
def wsgiref(app, address, **options): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler options = {} class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass options['handler_class'] = QuietHandler srv = make_server(address[0], address[1], app, **options) srv.serve_forever()
Example #8
Source File: pjf_server.py From PyJFuzz with MIT License | 5 votes |
def run(self, handler): class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass def log_error(self, format, *args): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.socket = ssl.wrap_socket(srv.socket, certfile=CERT_PATH, server_side=True) srv.serve_forever()
Example #9
Source File: pjf_server.py From PyJFuzz with MIT License | 5 votes |
def run(self, handler): class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass def log_error(self, format, *args): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #10
Source File: bottle.py From contrail-server-manager with Apache License 2.0 | 5 votes |
def run(self, handler): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler if self.quiet: class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #11
Source File: basehttp.py From luscan-devel with GNU General Public License v2.0 | 5 votes |
def run(addr, port, wsgi_handler, ipv6=False, threading=False): server_address = (addr, port) if threading: httpd_cls = type(str('WSGIServer'), (socketserver.ThreadingMixIn, WSGIServer), {}) else: httpd_cls = WSGIServer httpd = httpd_cls(server_address, WSGIRequestHandler, ipv6=ipv6) httpd.set_app(wsgi_handler) httpd.serve_forever()
Example #12
Source File: basehttp.py From luscan-devel with GNU General Public License v2.0 | 5 votes |
def __init__(self, *args, **kwargs): from django.conf import settings self.admin_static_prefix = urljoin(settings.STATIC_URL, 'admin/') # We set self.path to avoid crashes in log_message() on unsupported # requests (like "OPTIONS"). self.path = '' self.style = color_style() super(WSGIRequestHandler, self).__init__(*args, **kwargs)
Example #13
Source File: bottle.py From teye_scanner_for_book with GNU General Public License v3.0 | 5 votes |
def run(self, handler): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler if self.quiet: class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #14
Source File: server.py From coal-mine with Apache License 2.0 | 5 votes |
def handle(self): try: return super(LogbookWSGIRequestHandler, self).handle() except socket.timeout as e: # Why WSGIRequestHandler doesn't handle this, I have no idea. self.log_error("Request timed out: %r", e) raise
Example #15
Source File: bottle.py From NoobSec-Toolkit with GNU General Public License v2.0 | 5 votes |
def run(self, handler): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler if self.quiet: class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #16
Source File: bottle.py From NoobSec-Toolkit with GNU General Public License v2.0 | 5 votes |
def run(self, handler): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler if self.quiet: class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #17
Source File: bottle.py From NoobSec-Toolkit with GNU General Public License v2.0 | 5 votes |
def run(self, handler): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler if self.quiet: class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #18
Source File: bottle.py From NoobSec-Toolkit with GNU General Public License v2.0 | 5 votes |
def run(self, handler): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler if self.quiet: class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #19
Source File: bottle.py From lokun-record with GNU Affero General Public License v3.0 | 5 votes |
def run(self, handler): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler if self.quiet: class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #20
Source File: conftest.py From django-webdav-storage with BSD 3-Clause "New" or "Revised" License | 5 votes |
def webdav_server(tmp_root_directory): from wsgiref.simple_server import WSGIRequestHandler, make_server from wsgidav.wsgidav_app import WsgiDAVApp from wsgidav.fs_dav_provider import FilesystemProvider class MutedWSGIRequestHandler(WSGIRequestHandler): def log_message(self, format, *args): pass class WebDavServer: def __init__(self): self.app = WsgiDAVApp({ 'provider_mapping': { '/': FilesystemProvider(tmp_root_directory) }, 'simple_dc': { 'user_mapping': {"*": True} } }) self.server = make_server('', 8080, app=self.app, handler_class=MutedWSGIRequestHandler) def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): self.server.server_close() def run_wsgi(self): self.server.serve_forever() with WebDavServer() as srv: thread = threading.Thread(target=srv.run_wsgi) thread.daemon = True thread.start() yield srv
Example #21
Source File: bottle.py From VaspCZ with MIT License | 5 votes |
def run(self, handler): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler if self.quiet: class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #22
Source File: bottle.py From SalesforceXyTools with Apache License 2.0 | 5 votes |
def run(self, handler): # pragma: no cover from wsgiref.simple_server import make_server, WSGIRequestHandler if self.quiet: class QuietHandler(WSGIRequestHandler): def log_request(*args, **kw): pass self.options['handler_class'] = QuietHandler srv = make_server(self.host, self.port, handler, **self.options) srv.serve_forever()
Example #23
Source File: ssl.py From OpenMTC with Eclipse Public License 1.0 | 5 votes |
def __init__(self, server_address, certfile, keyfile = None, ca_certs = None, cert_reqs = NOT_SET, app = None, RequestHandlerClass = WSGIRequestHandler): WSGIServer.__init__(self, server_address, app = app, RequestHandlerClass = RequestHandlerClass) self.init_https(certfile, keyfile, ca_certs = ca_certs, cert_reqs = cert_reqs)
Example #24
Source File: __init__.py From OpenMTC with Eclipse Public License 1.0 | 5 votes |
def __init__(self, server_address, app = None, RequestHandlerClass = WSGIRequestHandler): _WSGIServer.__init__(self, server_address, RequestHandlerClass) self.set_app(app)
Example #25
Source File: test_wsgiref.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 4 votes |
def test_interrupted_write(self): # BaseHandler._write() and _flush() have to write all data, even if # it takes multiple send() calls. Test this by interrupting a send() # call with a Unix signal. threading = support.import_module("threading") pthread_kill = support.get_attribute(signal, "pthread_kill") def app(environ, start_response): start_response("200 OK", []) return [bytes(support.SOCK_MAX_SIZE)] class WsgiHandler(NoLogRequestHandler, WSGIRequestHandler): pass server = make_server(support.HOST, 0, app, handler_class=WsgiHandler) self.addCleanup(server.server_close) interrupted = threading.Event() def signal_handler(signum, frame): interrupted.set() original = signal.signal(signal.SIGUSR1, signal_handler) self.addCleanup(signal.signal, signal.SIGUSR1, original) received = None main_thread = threading.get_ident() def run_client(): http = HTTPConnection(*server.server_address) http.request("GET", "/") with http.getresponse() as response: response.read(100) # The main thread should now be blocking in a send() system # call. But in theory, it could get interrupted by other # signals, and then retried. So keep sending the signal in a # loop, in case an earlier signal happens to be delivered at # an inconvenient moment. while True: pthread_kill(main_thread, signal.SIGUSR1) if interrupted.wait(timeout=float(1)): break nonlocal received received = len(response.read()) http.close() background = threading.Thread(target=run_client) background.start() server.handle_request() background.join() self.assertEqual(received, support.SOCK_MAX_SIZE - 100)
Example #26
Source File: auth.py From box-python-sdk with Apache License 2.0 | 4 votes |
def authenticate(oauth_class=OAuth2): class StoppableWSGIServer(bottle.ServerAdapter): def __init__(self, *args, **kwargs): super(StoppableWSGIServer, self).__init__(*args, **kwargs) self._server = None def run(self, app): server_cls = self.options.get('server_class', WSGIServer) handler_cls = self.options.get('handler_class', WSGIRequestHandler) self._server = make_server(self.host, self.port, app, server_cls, handler_cls) self._server.serve_forever() def stop(self): self._server.shutdown() auth_code = {} auth_code_is_available = Event() local_oauth_redirect = bottle.Bottle() @local_oauth_redirect.get('/') def get_token(): auth_code['auth_code'] = bottle.request.query.code auth_code['state'] = bottle.request.query.state auth_code_is_available.set() local_server = StoppableWSGIServer(host='localhost', port=8080) server_thread = Thread(target=lambda: local_oauth_redirect.run(server=local_server)) server_thread.start() oauth = oauth_class( client_id=CLIENT_ID, client_secret=CLIENT_SECRET, ) auth_url, csrf_token = oauth.get_authorization_url('http://localhost:8080') webbrowser.open(auth_url) auth_code_is_available.wait() local_server.stop() assert auth_code['state'] == csrf_token access_token, refresh_token = oauth.authenticate(auth_code['auth_code']) print('access_token: ' + access_token) print('refresh_token: ' + refresh_token) return oauth, access_token, refresh_token