Exemple #1
0
        public async Task <Option <TimedData <TweetDto> > > GetAll(Guid?from, bool ascending, int count)
        {
            using var client = new HttpClient();
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
                JwtBearerDefaults.AuthenticationScheme,
                this.HttpContext.Request.Headers[HeaderNames.Authorization].ToString().Replace("Bearer ", ""));
            var tweetClient = new TweetClient(this.externals.Tweet, client);

            this.logger.LogInformation($"Tweet client: {this.externals.Tweet}");

            try
            {
                return(Option <TimedData <TweetDto> > .FromResult(
                           (await tweetClient.TweetqueryGetallAsync(from, ascending, count)).DeserializeTimedData()));
            }
            catch (Exception e)
            {
                this.logger.LogError(e, "Error during query.");
                return(Option <TimedData <TweetDto> > .FromError(e.Message));
            }
        }
Exemple #2
0
 public static Option <T> OrElse <T>(this T?source, string error) where T : class =>
 source is null ? Option <T> .FromError(error) : Option <T> .FromResult(source);