Add createRequest method to allow timeout configuration through subclassing #176
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.
This PR addresses the inability to set custom network timeouts when using
ODataClient->request(). Previously,ODataRequest::__construct()hardcoded the timeout to0with no way to override it, andODataClient->request()directly instantiated and executed the request.Problem
Users could not configure custom timeouts without overriding the entire
ODataClient::request()method, which is cumbersome and error-prone.Solution
Added a protected
createRequest()method toODataClientthat can be overridden in subclasses to customize request creation, including setting custom timeouts.Changes
ODataClient::createRequest()- Protected method that createsODataRequestinstancesODataClient::request()- Now usescreateRequest()instead of direct instantiationUsage
This approach follows the template method pattern and allows users to customize request creation without having to override the entire request flow.
Fixes #118.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.