Zum Hauptinhalt springen

HttpPagingOptions

Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Transform

Page-number paging over a collection endpoint. Absent means a single request. The property names are page-number specific so a cursor mode can be added later without renaming.

public record HttpPagingOptions : IEquatable<HttpPagingOptions>

Inheritance Object → HttpPagingOptions
Implements IEquatable<HttpPagingOptions>

Remarks:

Every optional member is nullable even though it carries an initializer. An initializer applies only when the key is absent from the definition; a key that is present and null overwrites it, and the reader would get a zero or a null it never wrote. Nullable here plus a fallback where the value is read makes "absent" and "present but null" mean the same thing. The defaults live in the constants so the initializer and the fallback cannot drift.

Fields​

DefaultPageParameterName​

The HttpPagingOptions.PageParameterName an unset property resolves to.

public static string DefaultPageParameterName;

DefaultPageSizeParameterName​

The HttpPagingOptions.PageSizeParameterName an unset property resolves to.

public static string DefaultPageSizeParameterName;

DefaultPageSize​

The HttpPagingOptions.PageSize an unset property resolves to.

public static int DefaultPageSize;

DefaultFirstPageNumber​

The HttpPagingOptions.FirstPageNumber an unset property resolves to.

public static int DefaultFirstPageNumber;

DefaultStopOnShortPage​

The HttpPagingOptions.StopOnShortPage an unset property resolves to.

public static bool DefaultStopOnShortPage;

DefaultMaxPages​

The HttpPagingOptions.MaxPages an unset property resolves to.

public static int DefaultMaxPages;

Properties​

ItemsPath​

Single-level path of the form "$.name" addressing the array inside one response, for example "$.result". Deeper addressing belongs to a downstream transformation. Required when paging is configured: a walk with nothing to read cannot report a result.

public string ItemsPath { get; set; }

Property Value​

String

PageParameterName​

Query parameter carrying the page number.

public string PageParameterName { get; set; }

Property Value​

String

PageSizeParameterName​

Query parameter carrying the page size.

public string PageSizeParameterName { get; set; }

Property Value​

String

PageSize​

Elements requested per page.

public Nullable<int> PageSize { get; set; }

Property Value​

Nullable<Int32>

FirstPageNumber​

Number of the first page; some APIs count from zero.

public Nullable<int> FirstPageNumber { get; set; }

Property Value​

Nullable<Int32>

StopOnShortPage​

Treat a page holding fewer elements than requested as the last one. Turn it off for an API that caps the page size server-side, where every page looks short.

public Nullable<bool> StopOnShortPage { get; set; }

Property Value​

Nullable<Boolean>

MaxPages​

Upper bound on pages. Reaching it fails: a target that ignores the page parameter answers with the same page forever, and a silent stop would truncate the result.

public Nullable<int> MaxPages { get; set; }

Property Value​

Nullable<Int32>

Constructors​

HttpPagingOptions()​

public HttpPagingOptions()