Filtering keys with a regex (Scan with a regex)

Subscribe to our newsletter and never miss any upcoming articles

Listen to this article

Introduction The scan verb in the @platform is used to get all the keys present in the secondary server.

Please check the ScanVerbHandler source code to learn more about the implementation of the scan verb.

The focus of this article is to demonstrate how to filter scan verb results using a regex. Description If the regex is not specified, the scan verb will return all of the keys applicable for the person running the scan. Let's assume that an app running on the @platform is interested in only a subset of the keys. A regex can then be passed as part of the scan verb. When a regex is passed, the @ protocol’s secondary server ensures that only keys matching the regex are returned.

Sample Request:

scan ^@bob

This request scans all the keys which match with the regex ‘^@bob

Sample Response:

data:["@bob:firstname@colin","@bob:location@colin"]

If you are using the SDK, use the following method.

await AtClientImpl.createClient('@bob', '@persona', preference);
var atClient = await AtClientImpl.getClient('@bob’);
List<AtKey> atKeys = await atClient.getAtKeys({String regex, String sharedBy, String sharedWith})

You can find the actual implementation here .

Coming Soon

We are working to make the Internet better. Please come code with us! Follow us on github github.com/atsign-foundation and join our developer community on Discord

No Comments Yet