Table of Contents

Class HostHeader

Namespace
BiExcellence.OpenBi.Api.HostHeaders
Assembly
BiExcellence.OpenBi.Api.Client.dll

A host header binding a domain/host name to a CMS role and entry page - what the server serves for requests to that host. It is how one server hosts several sites; a change takes effect without a restart. An Organisation can derive its own site from one.

public sealed record HostHeader : IHostHeader
Inheritance
object
HostHeader
Implements

Properties

CustomAttributes

The values of the custom table attributes defined for host headers (table HOST_HEADER, see GetTableAttributesAsync(IOpenBiApiClient, string, CancellationToken)), by attribute name.

[JsonPropertyName("customAttributes")]
public Dictionary<string, JsonElement>? CustomAttributes { get; init; }

Property Value

Dictionary<string, JsonElement>

Host

The host name this header answers to, compared case-insensitively and unique across host headers: a concrete name, optionally with :port (without a port it matches any port), for any host, or .example.com for every subdomain (but not the bare domain).

[JsonPropertyName("host")]
public string? Host { get; init; }

Property Value

string

Id

The id of the host header. Server-assigned (a GUID) on create when left empty.

[JsonPropertyName("id")]
public string? Id { get; init; }

Property Value

string

PageId

The entry page: the id of the CMS item template with tag PAGE that is the base layout of the site.

[JsonPropertyName("pageId")]
public string? PageId { get; init; }

Property Value

string

RequireSsl

When true, plain HTTP requests for this host are redirected to HTTPS.

[JsonPropertyName("requireSsl")]
public bool RequireSsl { get; init; }

Property Value

bool

RoleId

The id of the CMS role (a role of type CMS) whose content the site serves.

[JsonPropertyName("roleId")]
public string? RoleId { get; init; }

Property Value

string

WebFileContainerId

The id of the web file container whose files are served for this host, matched by request path. A path with no file in it is rendered by the CMS instead. Sent as webFileContainer on the wire.

[JsonPropertyName("webFileContainer")]
public string? WebFileContainerId { get; init; }

Property Value

string