Repository navigation
feat!: add Server Actor client and sync with Apify OpenAPI spec v2-2026-11-04T151257Z - #22
Merged
Merged
Conversation
…and port the Server Actor client from apify-client-js Adds ActorClient.Server() with request, URL and OpenAPI specification helpers, reports scanned rows as the Count of dataset item pages, adds actorPath on Actor versions, and regenerates the embedded response schemas. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ocuAGnQ7tWM7EdPahZPAA
…ew of the Server Actor client Adds PaginationList.ScannedRows, forwards Content-* request headers, rejects a non-positive expiresInSecs for signed public URLs, converts dates and lists in server request queries, hardens build number parsing and fixes documentation references. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ocuAGnQ7tWM7EdPahZPAA
…TC and define the content header names once Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ocuAGnQ7tWM7EdPahZPAA
…ption comment Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ocuAGnQ7tWM7EdPahZPAA
Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ocuAGnQ7tWM7EdPahZPAA
…ages Count of a page from DatasetClient.ListItemsAsync is now the larger of the rows the API scanned (X-Apify-Pagination-Count) and the items returned, as count in apify-client-js #1187. Offset iteration steps by it, capped at the requested limit. Removes the unreleased ScannedRows property, marks the change as breaking in the CHANGELOG and updates docs and tests. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ocuAGnQ7tWM7EdPahZPAA
…ocument the interface count Listing pages now carry the count the API reports (the Store listing can drop entries after counting them), the iterator steps by it, the CHANGELOG and docs say that the list's own count still covers the items only, and the tests are updated. Co-Authored-By: Claude Sonnet 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_017ocuAGnQ7tWM7EdPahZPAA
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Syncs the .NET client with OpenAPI spec
v2-2026-11-04T151257Z(apify/apify-docs#3083, #3084, #3152) and apify-client-js #1179, #1187, #1188, #1190 and #1197. The client version goes to 0.9.0 (breaking:PaginationList.Counthas a new meaning).Spec sync
actorPathon Actor versions and builds.ActorVersion.ActorPath,Actor.StandbyUrl,Actor.ActorStandby,Actor.TaggedBuildsandBuild.ActorDefinition.Server Actors (JS #1179)
ActorClient.Server()returns anActorServerClientwithRequestAsync,GetUrlAsyncandGetOpenApiSpecAsync.ActorServerRequestOptions,ActorServerResponseandActorServerException.X-Apify-Authorization.standby()alias is not ported, because the .NET client never had aStandby()method.Redirect handling (new public API)
ApifyRequestOptions.FollowRedirectsis set on requests that must not follow redirects.HttpClientTransportaccepts an optional secondHttpClient, with redirects disabled, for those requests.HttpClientwithout that second client throwsInvalidOperationExceptionfor such a request. This is documented.Page
Count(JS #1187, #1190), breakingThis matches the reference client and the Rust, Go, Java and PHP clients.
PaginationList.Countis the larger ofX-Apify-Pagination-Count(rows scanned) and the number of items returned.Countis thecountthe API reports, as in the JS, Java and Go clients. It equals the number of items, except on the Store listing, where it can be larger.Count, capped at the requested limit. Dataset iteration stops whenCountis 0, as in JS.IReadOnlyCollection<T>.Count, LINQCount(), enumeration and the indexer still count only the items returned. Code that indexes a page up toCountmust useItems.Countinstead. The CHANGELOG and docs say this.Signed URL validity (JS #1188)
expiresInSecsfor signed public URLs now throws before any request is sent.CI
TZ=Asia/Tokyo, and fail when a test filter matches no tests.