Ñò ô†³Kc @ s» d Z d d k Z d d k Td e f d „ ƒ YZ d d d d „ Z e d j of d d k Z d d k l Z e e ƒ Z d e i Z d „ Z e i d ƒ e i ƒ e i e ƒ n d S( s‚ WSGI Test Server This builds upon paste.util.baseserver to customize it for regressions where using raw_interactive won't do. iÿÿÿÿN( t *t WSGIRegressionServerc B sV e Z d Z d Z d „ Z d „ Z d „ Z d „ Z d „ Z d „ Z d d „ Z RS( sN A threaded WSGIServer for use in regression testing. To use this module, call serve(application, regression=True), and then call server.accept() to let it handle one request. When finished, use server.stop() to shutdown the server. Note that all pending requests are processed before the server shuts down. i c O sE t i | | | Ž g | _ g | _ | i | _ | i i d ƒ d S( Ni ( t WSGIServert __init__t stoppingt pendingt defaulttimeoutt timeoutt sockett settimeout( t selft argst kwargs( ( s: /usr/lib/python2.6/site-packages/paste/debug/testserver.pyR s c C s0 d d k l } | d | i ƒ } | i ƒ d S( Niÿÿÿÿ( t Threadt target( t threadingR t serve_pendingt start( R R t thread( ( s: /usr/lib/python2.6/site-packages/paste/debug/testserver.pyt serve_forever s c C s( | i o t i ƒ | i | _ n d S( N( R t timet expires( R ( ( s: /usr/lib/python2.6/site-packages/paste/debug/testserver.pyt reset_expires$ s c O s. t i | | | Ž | i i ƒ | i ƒ d S( N( R t close_requestR t popR ( R R R ( ( s: /usr/lib/python2.6/site-packages/paste/debug/testserver.pyR ' s c C s€ | i ƒ xo | i p | i oY t i ƒ } | | i j o | i o d GHPn | i o | i ƒ n t i d ƒ q Wd S( Ns0 WARNING: WSGIRegressionServer timeout exceeded gš™™™™™¹?( R R R R R R t handle_requestt sleep( R t now( ( s: /usr/lib/python2.6/site-packages/paste/debug/testserver.pyR + s c C s | i i t ƒ d S( s/ stop the server (called from tester's thread) N( R t appendt True( R ( ( s: /usr/lib/python2.6/site-packages/paste/debug/testserver.pyt stop7 s i c C s5 g } t | ƒ D] } | | i i t ƒ q ~ d S( s6 accept another request (called from tester's thread) N( t rangeR R R ( R t countt _[1]t x( ( s: /usr/lib/python2.6/site-packages/paste/debug/testserver.pyt accept: s ( t __name__t __module__t __doc__R R R R R R R R# ( ( ( s: /usr/lib/python2.6/site-packages/paste/debug/testserver.pyR s c C s/ t | | | | ƒ } d | i GH| i ƒ | S( Ns serving on %s:%s( R t server_addressR ( t applicationt hostt portt handlert server( ( s: /usr/lib/python2.6/site-packages/paste/debug/testserver.pyt serve? s t __main__( t dump_environs http://%s:%sc C s= t i d ƒ d d k } | i d ƒ t i t | ƒ i ƒ S( Ni iÿÿÿÿi ( R, R# R t setdefaulttimeoutt urllibt urlopent baseurit read( t pathR ( ( s: /usr/lib/python2.6/site-packages/paste/debug/testserver.pyt fetchK s i ( R&