コード例 #1
0
ファイル: conftest.py プロジェクト: 5225225/rtv
def oauth_server():
    # Start the OAuth server on a random port in the background
    server = HTTPServer(('', 0), OAuthHandler)
    server.url = 'http://{0}:{1}/'.format(*server.server_address)
    thread = threading.Thread(target=server.serve_forever)
    thread.start()
    try:
        yield server
    finally:
        server.shutdown()
        thread.join()
        server.server_close()
コード例 #2
0
ファイル: conftest.py プロジェクト: rbtnguyen/rtv
def oauth_server():
    # Start the OAuth server on a random port in the background
    server = HTTPServer(('', 0), OAuthHandler)
    server.url = 'http://{0}:{1}/'.format(*server.server_address)
    thread = threading.Thread(target=server.serve_forever)
    thread.start()
    try:
        yield server
    finally:
        server.shutdown()
        thread.join()
        server.server_close()
コード例 #3
0
ファイル: restoataggerservice.py プロジェクト: neophnx/arat
def main(argv):
    args = argparser().parse_args(argv[1:])

    httpd = HTTPServer(('localhost', args.port), RestOATaggerHandler)
    info('REST-OA tagger service started')
    try:
        httpd.serve_forever()
    except KeyboardInterrupt:
        pass
    info('REST-OA tagger service stopped')
    httpd.server_close()
    return 0
コード例 #4
0
ファイル: uploader.py プロジェクト: Gh0st0ne/Photini
class AuthServer(QtCore.QObject):
    response = QtCore.pyqtSignal(dict)

    def __init__(self, *args, **kwds):
        super(AuthServer, self).__init__(*args, **kwds)
        self.server = HTTPServer(('127.0.0.1', 0), RequestHandler)
        self.port = self.server.server_port
        self.server.timeout = 1
        self.server.response = self.response
        self.running = True

    @QtCore.pyqtSlot()
    @catch_all
    def start(self):
        while self.running:
            self.server.handle_request()
        self.server.server_close()
コード例 #5
0
class SimpleWebServer(object):
    """A very basic web server."""
    def __init__(self, host=DEFAULT_HOST, port=DEFAULT_PORT):
        self.stop_serving = False
        host = host
        port = port
        while True:
            try:
                self.server = HTTPServer(
                    (host, port), HtmlOnlyHandler)
                self.host = host
                self.port = port
                break
            except socket.error:
                log.debug("port %d is in use, trying to next one" % port)
                port += 1

        self.thread = threading.Thread(target=self._run_web_server)

    def _run_web_server(self):
        """Runs the server loop."""
        log.debug("web server started")
        while not self.stop_serving:
            self.server.handle_request()
        self.server.server_close()

    def start(self):
        """Starts the server."""
        self.thread.start()

    def stop(self):
        """Stops the server."""
        self.stop_serving = True
        try:
            # This is to force stop the server loop
            URLopener().open("http://%s:%d" % (self.host, self.port))
        except IOError:
            pass
        log.info("Shutting down the webserver")
        self.thread.join()

    def where_is(self, path):
        return "http://%s:%d/%s" % (self.host, self.port, path)
コード例 #6
0
ファイル: uploader.py プロジェクト: orensbruli/Photini
 def authorise(self):
     with Busy():
         # do full authentication procedure
         http_server = HTTPServer(('127.0.0.1', 0), AuthRequestHandler)
         redirect_uri = 'http://127.0.0.1:' + str(http_server.server_port)
         auth_url = self.session.get_auth_url(redirect_uri)
         if not auth_url:
             logger.error('Failed to get auth URL')
             http_server.server_close()
             return
         server = AuthServer()
         thread = QtCore.QThread(self)
         server.moveToThread(thread)
         server.server = http_server
         server.response.connect(self.auth_response)
         thread.started.connect(server.handle_requests)
         server.finished.connect(thread.quit)
         server.finished.connect(server.deleteLater)
         thread.finished.connect(thread.deleteLater)
         thread.start()
         if QtGui.QDesktopServices.openUrl(QtCore.QUrl(auth_url)):
             return
         logger.error('Failed to open web browser')
コード例 #7
0
 def server_close(self):
     self.socket.shutdown(socket.SHUT_RDWR)
     HTTPServer.server_close(self)
     self.__methods__.clear()
     log("httpd: server stopped")