Skip to content

Cover all 233 ESI operations and add opt-in client optimizations - #6

Merged
rafaga merged 1 commit into
devfrom
openapi-full-coverage
Oct 8, 2026
Merged

rafaga merged 1 commit into
devfrom
openapi-full-coverage

Conversation

@rafaga

@rafaga rafaga commented Oct 8, 2026

Copy link
Copy Markdown
Owner

Endpoints

  • Implement the remaining operations of the ESI OpenAPI spec (233 of 233), including the Access List, Activities, Structures and Corporation Projects groups, and extend industry, killmails, market, wallet, cosmetics, faction warfare, freelance jobs, military campaigns, Paragon Hub and user interface.
  • Replace the near-duplicate page types with a generic Page<T>, and merge KillmailPosition/AssetLocationPosition into Position, CorporationStanding into Standing and CorporationBlueprint into Blueprint.
  • Add Language and tenant request settings, and EsiError::Gone for the operations that declare x-tombstone-ttl.

Client

  • Add pagination helpers (query_with_pages, fetch_all_pages, fetch_all_cursor) and post_chunked for bulk POST endpoints.
  • Add an opt-in response cache with ETag/Last-Modified revalidation, an LRU eviction order, and entry and byte limits.
  • Add an opt-in proactive rate-limit policy (Off, Wait, Fail).
  • Index the spec once for path and operation lookups, and add ensure_spec_fresh.
  • Request compressed responses.

Tests and tooling

  • Add a conformance test against the OpenAPI fixture, cache and throttle tests against a local server, and live checks for the new endpoints.
  • Add a weekly spec drift workflow.
  • Bump the version to 0.2.0 and update the changelog and README.

Endpoints
- Implement the remaining operations of the ESI OpenAPI spec (233 of 233),
  including the Access List, Activities, Structures and Corporation Projects
  groups, and extend industry, killmails, market, wallet, cosmetics, faction
  warfare, freelance jobs, military campaigns, Paragon Hub and user interface.
- Replace the near-duplicate page types with a generic `Page<T>`, and merge
  `KillmailPosition`/`AssetLocationPosition` into `Position`,
  `CorporationStanding` into `Standing` and `CorporationBlueprint` into
  `Blueprint`.
- Add `Language` and `tenant` request settings, and `EsiError::Gone` for the
  operations that declare `x-tombstone-ttl`.

Client
- Add pagination helpers (`query_with_pages`, `fetch_all_pages`,
  `fetch_all_cursor`) and `post_chunked` for bulk POST endpoints.
- Add an opt-in response cache with ETag/Last-Modified revalidation, an LRU
  eviction order, and entry and byte limits.
- Add an opt-in proactive rate-limit policy (`Off`, `Wait`, `Fail`).
- Index the spec once for path and operation lookups, and add
  `ensure_spec_fresh`.
- Request compressed responses.

Tests and tooling
- Add a conformance test against the OpenAPI fixture, cache and throttle tests
  against a local server, and live checks for the new endpoints.
- Add a weekly spec drift workflow.
- Bump the version to 0.2.0 and update the changelog and README.
@rafaga
rafaga merged commit eb39e4f into dev Oct 8, 2026
7 checks passed
@rafaga
rafaga deleted the openapi-full-coverage branch October 8, 2026 23:26
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.

1 participant