1. cherrypy
  2. CherryPy

Source

CherryPy / cherrypy / _cpwsgiserver.py

Author Commit Message Date Builds
Remi Delon
Preparing for 2.1-rc2 release
Robert Brewer
Ugly fix for #321. cherrypy.server could really use some encapsulation now. 1. server.start now MUST be called from the main thread, or restart and interrupts won't work. You can stop and restart CherryPy safely now with the server.stop and server.restart methods. However, stop() only suspends the process; if you want to shut down the CP process, raise SystemExit or KeyboardInterrupt. If you need to do so in your own threads, set cherrypy._interrupt to an instance of one …
Robert Brewer
Phew. Tracked down all possible occurrences of KeyboardInterrupt and trapped them appropriately. There's still a problem in test_states when using the CherryPyHTTPServer (it hangs during KeyboardInterrupt testing), but all other servers pass. Maybe *this* fixes #321. ;)
Robert Brewer
More server state tests and fixes: 1. The built-in HTTP servers all failed on restart() because they weren't closing the socket on server.stop. 2. HTTP server start() and stop() methods now do more to make sure the server is truly in a started or stopped state before they return. 3. server.py does a lot more checking and waiting to make sure the HTTP server is truly started or stopped, before allowing the main thread to proceed. So…
Remi Delon
Preparing for 2.1.0-rc1 release
Remi Delon
Fixing small spelling mistake
Sylvain Hellegouarch
next() in SizeCheckWrapper now raises MaxSizeExceeded instead of StopIteration for consistency when the max length is reached
Sylvain Hellegouarch
added __iter__ and next methods to SizeCheckWrapper
Remi Delon
[626] had broken GET requests more than 256 chars long ... Fixed this.
Remi Delon
Implemented ticket #90 (still need to write docs though)
Robert Brewer
Found another errno to trap in _cpwsgiserver.WorkerThread.run
Robert Brewer
Request-URI of "*" can now be served by an exposed "cherrypy.root._global" method.
Robert Brewer
Fix for ticket #234.
Robert Brewer
Whew. All tests now pass for all servers in both 1.0 and 1.1 modes. There's also a new assertNoHeader method for webtest.
Robert Brewer
All dates in output headers now in RFC 1123 format.
Remi Delon
Changing version numbers and ChangeLog for 2.1.0-beta release
Robert Brewer
In _cpwsgiserver, added trap for errors from client-closed sockets. This should further fix tickets #92 and #184.
Robert Brewer
Moved formatExc to _cputil, and cleaned up some imports.
Robert Brewer
Implements ticket #195. 1. cpg module removed, all content moved into cherrypy.__init__. 2. Removed some circular imports in sessionfilter by moving sessionfilter.sessionfilter and _sessionTypes into sessionfilter.__init__. 3. renamed _cpconfig to "config". 4. renamed _cpserver to "server". 5. renamed cperror to _cperror; cherrypy.__init__ now imports * from _cperror.
Robert Brewer
Fix for ticket #184
Robert Brewer
Merged some useful updates from /branches/ooconf. Mostly speed tweaks, and removing some dead code.
Robert Brewer
1. Set cpg.request.login in _cpwsgi.wsgiApp. 2. Fixed ticket #169. 3. Fixed WSGI server sockets for *nix.
Robert Brewer
1. Fixed bug in helper: native threaded server was not being instantiated due to missing "threadPool" config item. 2. Fixed bug in cachefilter.
Robert Brewer
1. Still fixing tests. All now pass except testObjectMapping. 2. Fixed misnamed _start in _cpserver.py. 3. _cpwsgiserver.WorkerThread now blocks on Queue.get(). 4. _cpwsgiserver.socket now has timeout to allow shutdown on Win32. 5. Test suite now checks for a free port upon each test.
Peter Hunt
fixed the server stopping system and fixed up the requests/second again
Robert Brewer
Test suite passes now. Mostly a bug in _cpwsgi error handling. Also, wsgi server threads needed a finally: clause to terminate.
Robert Brewer
Fixes to WSGIServer. Fixes to test suite, so at least someone can start figuring out why testCore is still broken.
Peter Hunt
removed unneccessary buffering
Peter Hunt
multiplied the requests/second by 3...err...i mean...implemented a new wsgi server that can also be used outside of CP.