Skip to main content

Class: HttpDataAccess#

"http-data-access".HttpDataAccess

Exposes a Data-Access module over HTTP

Hierarchy#

Implements#

  • IDataAccess

Constructors#

constructor#

+ new HttpDataAccess(__namedParameters: { httpConfig: Partial<IHttpDataAccessConfig> ; nodeConnectionConfig: AxiosRequestConfig<any> }): HttpDataAccess

Defined in request-client.js/src/http-data-access.ts:25

Creates an instance of HttpDataAccess.

Parameters:#

NameTypeDefault value
__namedParameters{ httpConfig: Partial<IHttpDataAccessConfig> ; nodeConnectionConfig: AxiosRequestConfig<any> }{
httpConfig: {},
nodeConnectionConfig: {},
} |

Returns: HttpDataAccess

Properties#

axiosConfig#

Protected axiosConfig: AxiosRequestConfig

Defined in request-client.js/src/http-data-access.ts:25

Configuration that will be sent to axios for each request. We can also create a AxiosInstance with axios.create() but it dramatically complicates testing.


httpConfig#

Protected httpConfig: IHttpDataAccessConfig

Defined in request-client.js/src/http-data-access.ts:19

Configuration that overrides http-config-defaults,

see httpConfigDefaults for the default configuration.

Methods#

_getStatus#

_getStatus(detailed?: boolean): Promise<any>

Defined in request-client.js/src/http-data-access.ts:184

Gets information from the node (version, files etc...)

Parameters:#

NameTypeDescription
detailed?booleanif true get the list of files hashes

Returns: Promise<any>


close#

close(): Promise<void>

Defined in request-client.js/src/http-data-access.ts:74

Closes the module. Does nothing, exists only to implement IDataAccess

Returns: Promise<void>

nothing


fetchAndRetry#

ProtectedfetchAndRetry(url: string, params: any, retryConfig: { maxRetries?: number ; retryDelay?: number }): Promise<any>

Defined in request-client.js/src/http-data-access.ts:196

Sends an HTTP GET request to the node and retries until it succeeds. Throws when the retry count reaches a maximum.

Parameters:#

NameTypeDefault valueDescription
urlstring-HTTP GET request url
paramsany-HTTP GET request parameters
retryConfig{ maxRetries?: number ; retryDelay?: number }{}Maximum retry count and delay between retries

Returns: Promise<any>


getChannelsByMultipleTopics#

getChannelsByMultipleTopics(topics: string[], updatedBetween?: ITimestampBoundaries): Promise<IReturnGetChannelsByTopic>

Defined in request-client.js/src/http-data-access.ts:172

Gets all the transactions of channel indexed by multiple topics from the node through HTTP.

Parameters:#

NameTypeDescription
topicsstring[]topics to search for
updatedBetween?ITimestampBoundariesfilter timestamp boundaries

Returns: Promise<IReturnGetChannelsByTopic>


getChannelsByTopic#

getChannelsByTopic(topic: string, updatedBetween?: ITimestampBoundaries): Promise<IReturnGetChannelsByTopic>

Defined in request-client.js/src/http-data-access.ts:159

Gets all the transactions of channel indexed by topic from the node through HTTP.

Parameters:#

NameTypeDescription
topicstringtopic to search for
updatedBetween?ITimestampBoundariesfilter timestamp boundaries

Returns: Promise<IReturnGetChannelsByTopic>


getTransactionsByChannelId#

getTransactionsByChannelId(channelId: string, timestampBoundaries?: ITimestampBoundaries): Promise<IReturnGetTransactions>

Defined in request-client.js/src/http-data-access.ts:146

Gets the transactions for a channel from the node through HTTP.

Parameters:#

NameTypeDescription
channelIdstringThe channel id to search for
timestampBoundaries?ITimestampBoundariesfilter timestamp boundaries

Returns: Promise<IReturnGetTransactions>


initialize#

initialize(): Promise<void>

Defined in request-client.js/src/http-data-access.ts:64

Initialize the module. Does nothing, exists only to implement IDataAccess

Returns: Promise<void>

nothing


persistTransaction#

persistTransaction(transactionData: ITransaction, channelId: string, topics?: string[]): Promise<DataAccessTypes.IReturnPersistTransaction>

Defined in request-client.js/src/http-data-access.ts:85

Persists a new transaction on a node through HTTP.

Parameters:#

NameTypeDescription
transactionDataITransactionThe transaction data
channelIdstring-
topics?string[]The topics used to index the transaction

Returns: Promise<DataAccessTypes.IReturnPersistTransaction>