Skip to content

feat: Adds request timeout handling for table data endpoints#636

Open
likp wants to merge 12 commits into
mainfrom
feature/request-timeouts
Open

feat: Adds request timeout handling for table data endpoints#636
likp wants to merge 12 commits into
mainfrom
feature/request-timeouts

Conversation

@likp

@likp likp commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Introduced a RequestTimeout attribute to GetTableData and GetTableDataByPost methods to enforce a timeout
policy. Integrated RequestTimeouts middleware in the application pipeline and ensured it is applied selectively to relevant requests.

Introduced a `RequestTimeout` attribute to `GetTableData` and
`GetTableDataByPost` methods to enforce a timeout
policy. Integrated `RequestTimeouts` middleware in the
application pipeline and ensured it is applied selectively
to relevant requests.
Comment thread PxWeb/Controllers/Api2/TablesApiController.cs Fixed
@likp likp changed the title Add request timeout handling for table data endpoints feat: Adds request timeout handling for table data endpoints Jul 14, 2026
likp added 11 commits July 14, 2026 10:35
Introduced `CancellationToken` support in `DataWorkflow` to enable cancellation of long-running operations. Updated the `IDataWorkflow` interface to include `CancellationToken` parameters in method signatures.
Introduced `CancellationAwareDataWorkflow` to simulate workflows with cancellation token support. Updated `SavedQueryApiControllerTests` and `TableApiControllerTest` to use this implementation, replacing existing `IDataWorkflow` services.

Configured `RequestTimeoutOptions` in tests to define timeout policies for `GetTableDataTimeout`. Adjusted timeout values to 1ms and 50ms in respective tests.

Added `[DoNotParallelize]` to `Cancelling_request_should_return_timeout` to ensure sequential execution. Verified HTTP 504 Gateway Timeout status for canceled requests.
@sonarqubecloud

Copy link
Copy Markdown

@likp
likp marked this pull request as ready for review July 14, 2026 14:10
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.

2 participants