/// <summary> /// Get the next function invocation from the Runtime API as an asynchronous operation. /// Completes when the next invocation is received. /// </summary> /// <param name="cancellationToken">The optional cancellation token to use to stop listening for the next invocation.</param> /// <returns>A Task representing the asynchronous operation.</returns> public async Task <InvocationRequest> GetNextInvocationAsync(CancellationToken cancellationToken = default) { SwaggerResponse <Stream> response = await _internalClient.NextAsync(cancellationToken); var lambdaContext = new LambdaContext(new RuntimeApiHeaders(response.Headers), LambdaEnvironment); return(new InvocationRequest { InputStream = response.Result, LambdaContext = lambdaContext, }); }
/// <summary> /// Get the next function invocation from the Runtime API as an asynchronous operation. /// Completes when the next invocation is received. /// </summary> /// <param name="cancellationToken">The optional cancellation token to use to stop listening for the next invocation.</param> /// <returns>A Task representing the asynchronous operation.</returns> public async Task <InvocationRequest> GetNextInvocationAsync(CancellationToken cancellationToken = default) { SwaggerResponse <Stream> response = await _internalClient.NextAsync(cancellationToken); var headers = new RuntimeApiHeaders(response.Headers); _consoleLoggerRedirector.SetCurrentAwsRequestId(headers.AwsRequestId); var lambdaContext = new LambdaContext(headers, LambdaEnvironment, _consoleLoggerRedirector); return(new InvocationRequest { InputStream = response.Result, LambdaContext = lambdaContext, }); }