Browse Source

Fix Authorization server not properly stopping after flow completes.

CURA-7490
Nino van Hooff 4 years ago
parent
commit
f66e723866

+ 2 - 1
cura/OAuth2/AuthorizationRequestServer.py

@@ -2,6 +2,7 @@
 # Cura is released under the terms of the LGPLv3 or higher.
 
 from http.server import HTTPServer
+from socketserver import ThreadingMixIn
 from typing import Callable, Any, TYPE_CHECKING
 
 if TYPE_CHECKING:
@@ -9,7 +10,7 @@ if TYPE_CHECKING:
     from cura.OAuth2.AuthorizationHelpers import AuthorizationHelpers
 
 
-class AuthorizationRequestServer(HTTPServer):
+class AuthorizationRequestServer(ThreadingMixIn, HTTPServer):
     """The authorization request callback handler server.
 
     This subclass is needed to be able to pass some data to the request handler. This cannot be done on the request

+ 1 - 0
cura/OAuth2/LocalAuthorizationServer.py

@@ -81,6 +81,7 @@ class LocalAuthorizationServer:
 
         if self._web_server:
             try:
+                self._web_server.shutdown()
                 self._web_server.server_close()
             except OSError:
                 # OS error can happen if the socket was already closed. We really don't care about that case.