fix(examples): Prevent resource leak in simple-auth-client CallbackServer #1348
+6
−7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This update addresses a potential resource leak in the
simple-auth-client
example. TheCallbackServer
, which handles the OAuth2 callback, was not guaranteed to be shut down if an exception occurred during the connection setup.Specifically, if an exception was raised in the
connect
method aftercallback_server.start()
was called but before the main logic was entered, thefinally
block that calledcallback_server.stop()
would never be reached. This would leave the HTTP server running in a background thread, consuming resources.The Fix
The
connect
method inmcp_simple_auth_client/main.py
has been refactored to use a single, top-leveltry...finally
block. This ensures thatcallback_server.stop()
is executed regardless of whether the connection process succeeds or fails with an exception.This change makes the example client more robust and reliable by guaranteeing proper resource cleanup.
Type of change
Checklist
Additional context