ó aòNc@s¹dZddlZddlTdefd„ƒYZdddd„ZedkrµddlZddl m Z ee ƒZ d e j Z d „Ze jd ƒe jƒeje ƒndS( 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*tWSGIRegressionServercBsVeZdZdZd„Zd„Zd„Zd„Zd„Zd„Z dd „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 cOsEtj|||Žg|_g|_|j|_|jjdƒdS(Ni(t WSGIServert__init__tstoppingtpendingtdefaulttimeoutttimeouttsockett settimeout(tselftargstkwargs((sG/opt/alt/python27/lib/python2.7/site-packages/paste/debug/testserver.pyRs    cCs0ddlm}|d|jƒ}|jƒdS(Niÿÿÿÿ(tThreadttarget(t threadingR t serve_pendingtstart(R R tthread((sG/opt/alt/python27/lib/python2.7/site-packages/paste/debug/testserver.pyt serve_forever scCs&|jr"tjƒ|j|_ndS(N(Rttimetexpires(R ((sG/opt/alt/python27/lib/python2.7/site-packages/paste/debug/testserver.pyt reset_expires$s cOs.tj|||Ž|jjƒ|jƒdS(N(Rt close_requestRtpopR(R R R ((sG/opt/alt/python27/lib/python2.7/site-packages/paste/debug/testserver.pyR's cCsx|jƒxg|j s |jrstjƒ}||jkrM|jrMdGHPn|jrc|jƒntjdƒq WdS(Ns0 WARNING: WSGIRegressionServer timeout exceeded gš™™™™™¹?(RRRRRRthandle_requesttsleep(R tnow((sG/opt/alt/python27/lib/python2.7/site-packages/paste/debug/testserver.pyR+s    cCs|jjtƒdS(s/ stop the server (called from tester's thread) N(RtappendtTrue(R ((sG/opt/alt/python27/lib/python2.7/site-packages/paste/debug/testserver.pytstop7sicCs-gt|ƒD]}|jjtƒ^q dS(s6 accept another request (called from tester's thread) N(trangeRRR(R tcounttx((sG/opt/alt/python27/lib/python2.7/site-packages/paste/debug/testserver.pytaccept:s( t__name__t __module__t__doc__RRRRRRRR"(((sG/opt/alt/python27/lib/python2.7/site-packages/paste/debug/testserver.pyRs     cCs/t||||ƒ}d|jGH|jƒ|S(Nsserving on %s:%s(Rtserver_addressR(t applicationthosttportthandlertserver((sG/opt/alt/python27/lib/python2.7/site-packages/paste/debug/testserver.pytserve?s  t__main__(t dump_environs http://%s:%scCs=tjdƒddl}|jdƒtjt|ƒjƒS(Niiÿÿÿÿi(R+R"Rtsetdefaulttimeoutturllibturlopentbaseuritread(tpathR((sG/opt/alt/python27/lib/python2.7/site-packages/paste/debug/testserver.pytfetchKs   i(R%Rtpaste.httpserverRRtNoneR,R#R0t paste.wsgilibR.R+R&R2R5R"RR1(((sG/opt/alt/python27/lib/python2.7/site-packages/paste/debug/testserver.pyt s  /