Skip to content

WebChartDataSource

ClassChartGuruChartGuru
public class WebChartDataSource : ChartFileDataSourceBase, IChartGuruElementDataSource, IChartDataSource

Polls an HTTP/HTTPS endpoint on a configurable interval, decodes the response as CSV or JSON, and pushes the result through the standard mapping pipeline. Includes:

protected override string LoadText()

Subclasses override to obtain the raw text payload synchronously. Return an empty string to signal “no data”.

Returns

System.String

protected override Task<ChartFileDataSourceBase.ChartTextPayload> LoadPayloadAsync(CancellationToken ct)

Loads one immutable response payload. Network sources can attach response metadata here.

Parameters

Name Type
ct System.Threading.CancellationToken

Returns

System.Threading.Tasks.Task{ChartGuru.ChartFileDataSourceBase.ChartTextPayload}

protected override ChartTabularData ParseToTabular(string rawText)

Convert raw text to a ChartGuru.ChartTabularData. Implemented per source (CSV vs JSON).

Parameters

Name Type
rawText System.String

Returns

ChartGuru.ChartTabularData

protected override ChartTabularData ParsePayloadToTabular(ChartFileDataSourceBase.ChartTextPayload payload)

Parses one response payload without relying on mutable shared response state.

Parameters

Name Type
payload ChartGuru.ChartFileDataSourceBase.ChartTextPayload

Returns

ChartGuru.ChartTabularData

protected virtual ChartTabularData ParseResponse(string rawText, string contentType)

Parses one immutable HTTP response and its matching content type.

Parameters

Name Type
rawText System.String
contentType System.String

Returns

ChartGuru.ChartTabularData

public override void ApplyData()

Sync entry points (inspector “Fetch Now” button, ApplyData, Refresh) all route through the async pipeline because ChartGuru.WebChartDataSource.LoadText on a network source can’t return a synchronous string. Without this override the inherited ChartGuru.ChartFileDataSourceBase.ApplyData would call ChartGuru.WebChartDataSource.LoadText (returns “”) and silently do nothing.

public void Load(string url)

Set a URL and immediately fetch. Convenience shortcut for Url = …; Refresh();.

Parameters

Name Type
url System.String
public void ForceFetch()

Unconditional fetch — bypasses the ChartGuru.WebChartDataSource.RunInEditMode guard. Used by the inspector “Fetch Now” button so the user can always pull fresh data on demand.

public void SetRuntimeHeader(string headerName, string value)

Adds or updates a header whose value exists only in memory for this component instance.

Parameters

Name Type
headerName System.String
value System.String
public void ClearRuntimeHeaderValues()

Clears all nonserialized runtime header values.

public override void Refresh()

Drive a synchronous load → parse → push cycle. Equivalent to ChartGuru.ChartFileDataSourceBase.ApplyData; provided as a more discoverable alias.

protected override void OnRefreshSucceeded()

Called on the Unity thread after a successful refresh.

protected override void OnRefreshFailed(Exception exception)

Called on the Unity thread after a failed refresh.

Parameters

Name Type
exception System.Exception

public WebChartDataSource()

public string Url { get; set; }

Returns

System.String

public List<WebChartDataSource.HttpHeader> Headers { get; }

Returns

System.Collections.Generic.List{ChartGuru.WebChartDataSource.HttpHeader}

public WebDataFormat Format { get; set; }

Returns

ChartGuru.WebDataFormat

public string JsonRootSelector { get; set; }

Returns

System.String

public float PollIntervalSeconds { get; set; }

Returns

System.Single

public bool RunInEditMode { get; set; }

Returns

System.Boolean

protected override bool AutoApplyInEditMode { get; }

Whether this source should populate an edit-mode preview when enabled.

Returns

System.Boolean