\bgc dZddlZddlZddlZddlZddlZddlZGddej j Z Gddej j Z Gddej j ejZd d ZdS) z>Basic http server for tests to simulate PyPI or custom indexesNcDeZdZdZdejjfdZdZdZ dZ dS) IndexServeraYBasic 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() rc`tjj|||d|_dSNT)httpserver HTTPServer__init___runselfserver_addressRequestHandlerClasss h/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/setuptools/tests/server.pyr zIndexServer.__init__s- ''n>QRRR cvtj|j|_|jdS)N)target) threadingThread serve_foreverthreadstartrs rrzIndexServer.starts4&d.@AAA  rctjd||j|jdS)zStop the serverg?N)timesleepshutdownrjoinsocketclosers rstopzIndexServer.stop#sL 3   rc|j}d|zS)Nz-http://127.0.0.1:%s/setuptools/tests/indexes/ server_port)rports rbase_urlzIndexServer.base_url-s>EErN) __name__ __module__ __qualname____doc__r r SimpleHTTPRequestHandlerr rr#r(rrrr sq   K@FFFFFrrceZdZdZdS)RequestRecorderct|jdg}|||dddS)NrequestsOK)varsr setdefaultappend send_response)rr2s rdo_GETzRequestRecorder.do_GET3sO $$// B?? 3%%%%%rN)r)r*r+r9r.rrr0r02s#&&&&&rr0cPeZdZdZdefdZdZedZedZ dS) MockServerzD A simple HTTP Server that records the requests made to it. rctjj|||tj|d|_g|_dSr)r r r r rrdaemonr2rs rr zMockServer.__init__>sI ''n>QRRR!!$'''  rc.|dSN)rrs rrunzMockServer.runDs rcd|jzS)Nz localhost:%sr%rs rnetloczMockServer.netlocGs 000rcd|jzS)Nz http://%s/)rBrs rurlzMockServer.urlKsdk))rN) r)r*r+r,r0r r@propertyrBrDr.rrr;r;9s~'.? 11X1**X***rr;c tjtj|}d}||d|zz }tj|tj|S)zConvert a path to a file: URL.zfile:Nz//) ospathnormpathabspathurllibparseurljoinrequest pathname2url)rH authoritybases r path_to_urlrRPsg 7  BGOOD11 2 2D D y   <  fn&A&A$&G&G H HHrr?)r, http.serverr rGrr urllib.parserKurllib.requestr r rBaseHTTPRequestHandlerr0rr;rRr.rrrWs DD  $F$F$F$F$F$+($F$F$FN&&&&&dk8&&&*****')9***.IIIIIIr