public static async Task <HttpResponseMessage> PostAsStream(this HttpClient client,
                                                                    string requestUri, object value, JsonSerializerOptions serializerSettings, string bearerToken, CancellationToken cancellationToken = default(CancellationToken))
        {
            var ms = new MemoryStream();

            await JsonSerializer.SerializeAsync(ms, value, serializerSettings);

            await ms.FlushAsync();

            ms.Seek(0, SeekOrigin.Begin);

            using (var streamContent = new StreamContent(ms))
            {
                var builder = new HttpRequestBuilder()
                              .AddMethod(HttpMethod.Post)
                              .AddRequestUri(requestUri)
                              .AddContent(streamContent)
                              .AddBearerToken(bearerToken);

                return(await builder.SendAsync(client, cancellationToken));
            }
        }