ó «©\Tc@s¨dZddlZddlZddlZddlmZddlmZmZmZm Z defd„ƒYZ defd„ƒYZ d eej fd „ƒYZ dS( s?Basic http server for tests to simulate PyPI or custom indexes iÿÿÿÿN(tBaseHTTPRequestHandler(turllib2tURLErrort HTTPServertSimpleHTTPRequestHandlert IndexServercBsAeZdZded„Zd„Zd„Zd„Zd„ZRS( sYBasic single-threaded http server simulating a package index You can use this server in unittest like this:: s = IndexServer() s.start() index_url = s.base_url() + 'mytestindex' # do some test requests to the index # The index files should be located in setuptools/tests/indexes s.stop() ticCs tj|||ƒt|_dS(N(Rt__init__tTruet_run(tselftserver_addresstRequestHandlerClass((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pyRscCsx|jr|jƒqWdS(N(R thandle_request(R ((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pytserves cCs)tjd|jƒ|_|jjƒdS(Nttarget(t threadingtThreadRtthreadtstart(R ((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pyRscCsŽtjdƒt|_dt|ƒ}y6tjdkrNtj|ddƒn tj|ƒWnt k ronX|j j ƒ|j j ƒdS( sStop the servergš™™™™™¹?s!http://127.0.0.1:%(server_port)s/iittimeoutiN(ii(ttimetsleeptFalseR tvarstsyst version_infoRturlopenRRtjointsockettclose(R turl((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pytstop"s    cCs|j}d|S(Ns-http://127.0.0.1:%s/setuptools/tests/indexes/(t server_port(R tport((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pytbase_url8s (Ri( t__name__t __module__t__doc__RRRRR R#(((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pyR s     tRequestRecordercBseZd„ZRS(cCs<t|jƒjdgƒ}|j|ƒ|jddƒdS(NtrequestsiÈtOK(Rtservert setdefaulttappendt send_response(R R(((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pytdo_GET=s (R$R%R.(((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pyR'<st MockServercBs;eZdZded„Zd„Zd„ZeeƒZRS(sD A simple HTTP Server that records the requests made to it. RicCs=tj|||ƒtjj|ƒ|jtƒg|_dS(N(RRRRt setDaemonRR((R R R ((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pyRFs cCs|jƒdS(N(t serve_forever(R ((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pytrunMscCsdt|ƒS(Ns!http://localhost:%(server_port)s/(R(R ((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pyRPs(Ri(R$R%R&R'RR2Rtproperty(((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pyR/Bs    (R&RRRtsetuptools.compatRRRRRRR'RR/(((sD/opt/freeware/lib/python2.7/site-packages/setuptools/tests/server.pyts   "2