Skip to main content

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 ObjectHttpPagingOptions
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()