Use Refit for HTTP calls #380
Draft
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.
Replaced manual
HttpClientcalls with Refit, a type-safe REST client library.Changes
Added Dependencies
Refit7.2.22Refit.HttpClientFactory7.2.22Implementation
Created resource-specific Refit interfaces for each WordPress REST API endpoint:
IPostsApi- Posts endpoint with CRUD operationsIPagesApi- Pages endpoint with CRUD operationsICommentsApi- Comments endpoint with CRUD operationsITagsApi- Tags taxonomy endpointICategoriesApi- Categories taxonomy endpointIUsersApi- Users endpoint including current userIMediaApi- Media/attachments endpointITaxonomiesApi- Custom taxonomies endpointIPostTypesApi- Post types metadata endpointIPostStatusesApi- Post statuses endpointISettingsApi- Site settings endpointIPluginsApi- Plugins management endpointIThemesApi- Themes management endpointIJWTAuthApi- JWT authentication endpointsICustomRequestApi- Generic/custom endpoint support with dynamic routingRefactored
HttpHelperto delegate all HTTP operations to Refit clientsRestService.For<T>()GetAuthHeader()to generate Bearer/Basic auth headersHttpRequestMessageconstruction andSetAuthHeader()CustomRequestApifor generic HTTP operationsPreserved Behavior
HttpResponsePreProcessing, andJsonSerializerSettingsremain functionalExample
Before:
After:
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.