tokenFor method

  1. @override
Future<Result<ResourceToken>> tokenFor(
  1. ResourceKey key
)
override

Resolves one resource's token, serving the cache when still valid.

Implementation

@override
Future<Result<ResourceToken>> tokenFor(ResourceKey key) async {
  queried.add(key.mapKey);
  final String? token = _tokens[key.mapKey];
  if (token == null) {
    return Err<ResourceToken>(
      Problem(
        type: 'urn:diene:test:no-token',
        title: 'No token',
        status: 401,
        detail: key.mapKey,
      ),
    );
  }
  return Ok<ResourceToken>(
    ResourceToken(token: token, expiresAt: _expiresAt),
  );
}