Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Unified Diff: tools/telemetry/third_party/gsutil/third_party/httplib2/python2/httplib2/test/miniserver.py

Issue 1260493004: Revert "Add gsutil 4.13 to telemetry/third_party" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/third_party/gsutil/third_party/httplib2/python2/httplib2/test/miniserver.py
diff --git a/tools/telemetry/third_party/gsutil/third_party/httplib2/python2/httplib2/test/miniserver.py b/tools/telemetry/third_party/gsutil/third_party/httplib2/python2/httplib2/test/miniserver.py
deleted file mode 100644
index e32bf5e5f9bf59763623408baae5ef634c88d51b..0000000000000000000000000000000000000000
--- a/tools/telemetry/third_party/gsutil/third_party/httplib2/python2/httplib2/test/miniserver.py
+++ /dev/null
@@ -1,100 +0,0 @@
-import logging
-import os
-import select
-import SimpleHTTPServer
-import SocketServer
-import threading
-
-HERE = os.path.dirname(__file__)
-logger = logging.getLogger(__name__)
-
-
-class ThisDirHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
- def translate_path(self, path):
- path = path.split('?', 1)[0].split('#', 1)[0]
- return os.path.join(HERE, *filter(None, path.split('/')))
-
- def log_message(self, s, *args):
- # output via logging so nose can catch it
- logger.info(s, *args)
-
-
-class ShutdownServer(SocketServer.TCPServer):
- """Mixin that allows serve_forever to be shut down.
-
- The methods in this mixin are backported from SocketServer.py in the Python
- 2.6.4 standard library. The mixin is unnecessary in 2.6 and later, when
- BaseServer supports the shutdown method directly.
- """
-
- def __init__(self, *args, **kwargs):
- SocketServer.TCPServer.__init__(self, *args, **kwargs)
- self.__is_shut_down = threading.Event()
- self.__serving = False
-
- def serve_forever(self, poll_interval=0.1):
- """Handle one request at a time until shutdown.
-
- Polls for shutdown every poll_interval seconds. Ignores
- self.timeout. If you need to do periodic tasks, do them in
- another thread.
- """
- self.__serving = True
- self.__is_shut_down.clear()
- while self.__serving:
- r, w, e = select.select([self.socket], [], [], poll_interval)
- if r:
- self._handle_request_noblock()
- self.__is_shut_down.set()
-
- def shutdown(self):
- """Stops the serve_forever loop.
-
- Blocks until the loop has finished. This must be called while
- serve_forever() is running in another thread, or it will deadlock.
- """
- self.__serving = False
- self.__is_shut_down.wait()
-
- def handle_request(self):
- """Handle one request, possibly blocking.
-
- Respects self.timeout.
- """
- # Support people who used socket.settimeout() to escape
- # handle_request before self.timeout was available.
- timeout = self.socket.gettimeout()
- if timeout is None:
- timeout = self.timeout
- elif self.timeout is not None:
- timeout = min(timeout, self.timeout)
- fd_sets = select.select([self], [], [], timeout)
- if not fd_sets[0]:
- self.handle_timeout()
- return
- self._handle_request_noblock()
-
- def _handle_request_noblock(self):
- """Handle one request, without blocking.
-
- I assume that select.select has returned that the socket is
- readable before this function was called, so there should be
- no risk of blocking in get_request().
- """
- try:
- request, client_address = self.get_request()
- except socket.error:
- return
- if self.verify_request(request, client_address):
- try:
- self.process_request(request, client_address)
- except:
- self.handle_error(request, client_address)
- self.close_request(request)
-
-
-def start_server(handler):
- httpd = ShutdownServer(("", 0), handler)
- threading.Thread(target=httpd.serve_forever).start()
- _, port = httpd.socket.getsockname()
- return httpd, port

Powered by Google App Engine
This is Rietveld 408576698