Skip to content

chore(windows): remove deprecated cpprestsdk dependency#906

Draft
NandanPrabhu wants to merge 1 commit into
mainfrom
chore/remove-cpprestsdk-windows
Draft

chore(windows): remove deprecated cpprestsdk dependency#906
NandanPrabhu wants to merge 1 commit into
mainfrom
chore/remove-cpprestsdk-windows

Conversation

@NandanPrabhu

Copy link
Copy Markdown
Contributor

Summary

  • Removes the deprecated/archived cpprestsdk ("Casablanca") C++ REST SDK from the Windows plugin, along with its incidental transitive boost dependencies (boost-system, boost-date-time, boost-regex) that were never used directly.
  • Replaces HTTP client/server usage with cpp-httplib, JSON handling with nlohmann::json, and async/cancellation (pplx::) with Microsoft PPL (<ppltasks.h> / concurrency::), which ships with the MSVC toolset and needs no extra vcpkg dependency.
  • Updates vcpkg.json, CMakeLists.txt, and the CI workflow's explicit vcpkg install step to reflect the new dependency set.
  • No behavior change intended to the login/logout/token-validation flow.

Test plan

  • Full-tree grep confirms no remaining cpprest/pplx/boost references outside of a few explanatory comments contrasting old vs. new behavior
  • CI: "Build Windows example app" job builds successfully
  • CI: Windows unit test job (with coverage) passes, including the JWKS fetch-failure regression tests (ThrowsWhenJwksEndpointIsUnreachable, ThrowsOnHttp5xxResponse, etc.)
  • Manual: real login against a real Auth0 tenant domain (not just the mock JWKS server), to catch any URL-splitting issues in the new httplib::Client usage
  • Manual: force-closing the example app mid-login to confirm PPL's Concurrency Runtime doesn't introduce a DLL-unload hang/crash

🤖 Generated with Claude Code

Replaces cpprestsdk (Microsoft's archived "Casablanca" C++ REST SDK)
with maintained alternatives: cpp-httplib for HTTP (production token
exchange / JWKS fetch, and the test-only mock JWKS server), and
nlohmann::json for JSON, across the Windows plugin. Also replaces
pplx::task/cancellation_token with Microsoft PPL (<ppltasks.h>, built
into the MSVC toolset) in oauth_helpers and the login/logout request
handlers.

boost-system/boost-date-time/boost-regex are dropped too, since they
were only ever transitive requirements of cpprestsdk's own CMake
package config and were never used directly anywhere in the plugin.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: d8f8dc27-b587-4f85-876d-3af42d6a8dd9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/remove-cpprestsdk-windows

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant