Example #1
0
        public async Task <bool> TryToReplyToCrcChallengeAsync(IWebhooksRequest request, IConsumerOnlyCredentials credentials)
        {
            var crcToken = request.GetQuery()["crc_token"];

            if (crcToken.IsNullOrEmpty())
            {
                return(false);
            }

            await ReplyToCrcChallengeRequestAsync(crcToken[0], request, credentials).ConfigureAwait(false);

            return(true);
        }
Example #2
0
        public async Task <bool> TryRouteRequestAsync(IWebhooksRequest request, IConsumerOnlyCredentials credentials)
        {
            var isCrcChallenge = _webhooksHelper.IsCrcChallenge(request);

            if (isCrcChallenge)
            {
                return(await _webhooksRoutes.TryToReplyToCrcChallengeAsync(request, credentials).ConfigureAwait(false));
            }

            var jsonBody = await request.GetJsonFromBodyAsync().ConfigureAwait(false);

            _webhookDispatcher.WebhookMessageReceived(new WebhookMessage(jsonBody));

            return(await Task.FromResult(true).ConfigureAwait(false));
        }
Example #3
0
        public async Task <bool> IsRequestManagedByTweetinviAsync(IWebhooksRequest request)
        {
            var isRequestComingFromTwitter = IsRequestComingFromTwitter(request);

            if (!isRequestComingFromTwitter)
            {
                return(false);
            }

            var body = await request.GetJsonFromBodyAsync().ConfigureAwait(false);

            if (body != null)
            {
                var jsonObjectEvent          = _jObjectStaticWrapper.GetJobjectFromJson(body);
                var isAccountActivityRequest = jsonObjectEvent?.ContainsKey("for_user_id");

                if (isAccountActivityRequest == true)
                {
                    return(true);
                }
            }

            return(IsCrcChallenge(request));
        }
Example #4
0
 public Task <bool> IsRequestManagedByTweetinviAsync(IWebhooksRequest request)
 {
     return(_webhooksHelper.IsRequestManagedByTweetinviAsync(request));
 }
Example #5
0
        private async Task ReplyToCrcChallengeRequestAsync(string crcToken, IWebhooksRequest request, IConsumerOnlyCredentials credentials)
        {
            var crcResponseInfo = _webhooksHelper.CreateCrcResponseToken(crcToken, credentials.ConsumerSecret);

            await request.WriteInResponseAsync(crcResponseInfo.Json, crcResponseInfo.ContentType).ConfigureAwait(false);
        }
Example #6
0
 public async Task <bool> TryRouteRequestAsync(IWebhooksRequest request)
 {
     return(await _router.TryRouteRequestAsync(request, _consumerOnlyCredentials).ConfigureAwait(false));
 }
Example #7
0
 public Task <bool> IsRequestManagedByTweetinvi(IWebhooksRequest request)
 {
     return(_router.IsRequestManagedByTweetinvi(request));
 }