feat: add deferred response buffering, TableDataProvider, and stealth improvements

- ApiResponse: add readToBuffer option to defer/stream body instead of eagerly buffering
- TableDataProvider: implement HTML table parser with per-column provider support
- StealthConfig: add 10s page load timeout and copyCookiesFrom parameter for cookie sharing
- StealthUnitDownloader: catch WebDriverTimeoutException on navigation, log warning instead of throwing
- Bump version to 2.9.0
This commit is contained in:
qwsdcvghyu89
2026-04-03 11:51:19 +11:00
parent cf75d4a5d5
commit 2965270928
9 changed files with 229 additions and 26 deletions
+2 -2
View File
@@ -33,7 +33,7 @@ namespace Beam.Api;
// sequential
var sequential = new List<ApiResponse>(_calls.Count);
foreach (var call in _calls)
sequential.Add(await call.GetResponse(logger, tries, ct));
sequential.Add(await call.GetResponse(logger, tries, true, ct));
return sequential;
}
@@ -43,7 +43,7 @@ namespace Beam.Api;
_calls.Select((c, i) => (call: c, idx: i)),
new ParallelOptions { MaxDegreeOfParallelism = _maxDegree, CancellationToken = ct },
async (item, token) => {
var response = await item.call.GetResponse(logger, tries, token);
var response = await item.call.GetResponse(logger, tries, true, token);
bag.Add((item.idx, response));
});