Private
#privateReadonly
hostReadonly
_isStatic
createStatic
createStatic
fromOptional
priority: numberOptional
effectiveOptional
callOptional
identity: types.Identity | Promise<types.Identity>Send a query call to a canister. See the interface spec.
The Principal of the Canister to send the query to. Sending a query to the management canister is not supported (as it has no meaning from an agent).
Options to use to create and send the query.
Optional
identity: types.Identity | Promise<types.Identity>Sender principal to use when sending the query.
The response from the replica. The Promise will only reject when the communication failed. If the query itself failed but no protocol errors happened, the response will be of type QueryResponseRejected.
Send a read state query to the replica. This includes a list of paths to return, and will return a Certificate. This will only reject on communication errors, but the certificate might contain less information than requested.
A Canister ID related to this call.
The options for this call.
Optional
identity: types.Identity | Promise<types.Identity>Identity for the call. If not specified, uses the instance identity.
Optional
request: anyThe request to send in case it has already been created.
Allows agent to sync its time with the network. Can be called during intialization or mid-lifecycle if the device's clock has drifted away from the network time. This is necessary to set the Expiry for a request
Optional
canisterId: anyPass a canister ID if you need to sync the time with a particular replica. Uses the management canister by default
Query the status endpoint of the replica. This normally has a few fields that corresponds to the version of the replica, its root public key, and any other information made public.
A JsonObject that is essentially a record of fields from the status endpoint.
By default, the agent is configured to talk to the main Internet Computer, and verifies responses using a hard-coded public key.
This function will instruct the agent to ask the endpoint for its public key, and use that instead. This is required when talking to a local test instance, for example.
Only use this when you are not talking to the main Internet Computer, otherwise you are prone to man-in-the-middle attacks! Do not call this function by default.
If an application needs to invalidate an identity under certain conditions, an Agent
may expose an invalidateIdentity
method.
Invoking this method will set the inner identity used by the Agent
to null
.
A use case for this would be - after a certain period of inactivity, a secure application chooses to invalidate the identity of any HttpAgent
instances. An invalid identity can be replaced by Agent.replaceIdentity
If an application needs to replace an identity under certain conditions, an Agent
may expose a replaceIdentity
method.
Invoking this method will set the inner identity used by the Agent
to a newly provided identity.
A use case for this would be - after authenticating using @dfinity/auth-client
, you can replace the AnonymousIdentity
of your Actor
with a DelegationIdentity
.
Actor.agentOf(defaultActor).replaceIdentity(await authClient.getIdentity());
Protected
_transform
A HTTP agent allows users to interact with a client of the internet computer using the available methods. It exposes an API that closely follows the public view of the internet computer, and is not intended to be exposed directly to the majority of users due to its low-level interface. There is a pipeline to apply transformations to the request before sending it to the client. This is to decouple signature, nonce generation and other computations so that this class can stay as simple as possible while allowing extensions.