seek method

Future<SeekResponse> seek(
  1. SeekRequest request,
  2. String subscription, {
  3. String? $fields,
})

Seeks an existing subscription to a point in time or to a given snapshot, whichever is provided in the request.

Snapshots are used in Seek operations, which allow you to manage message acknowledgments in bulk. That is, you can set the acknowledgment state of messages in an existing subscription to the state captured by a snapshot. Note that both the subscription and the snapshot must be on the same topic.

request - The metadata request object.

Request parameters:

subscription - Required. The subscription to affect. Value must have pattern ^projects/\[^/\]+/subscriptions/\[^/\]+$.

$fields - Selector specifying which fields to include in a partial response.

Completes with a SeekResponse.

Completes with a commons.ApiRequestError if the API endpoint returned an error.

If the used http.Client completes with an error when making a REST call, this method will complete with the same error.

Implementation

async.Future<SeekResponse> seek(
  SeekRequest request,
  core.String subscription, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'v1/' + core.Uri.encodeFull('$subscription') + ':seek';

  final response_ = await _requester.request(
    url_,
    'POST',
    body: body_,
    queryParams: queryParams_,
  );
  return SeekResponse.fromJson(
      response_ as core.Map<core.String, core.dynamic>);
}