public WebhookMiddleware(RequestDelegate next, IOptions <WebhookConfiguration> options) { _next = next; _configuration = options.Value; _router = TweetinviContainer.Resolve <IWebhookRouter>(); }
private TwitterListQueryGenerator CreateTwitterListQueryGenerator() { return(_fakeBuilder.GenerateClass( new ConstructorNamedParameter("userQueryParameterGenerator", TweetinviContainer.Resolve <IUserQueryParameterGenerator>()), new ConstructorNamedParameter("twitterListQueryParameterGenerator", TweetinviContainer.Resolve <ITwitterListQueryParameterGenerator>()), new ConstructorNamedParameter("queryParameterGenerator", TweetinviContainer.Resolve <IQueryParameterGenerator>()))); }
// ReSharper disable once InconsistentNaming // Autofac requires variable names to match, not just the method signature :s public TwitterQueryRemoteAuth(string queryURL, HttpMethod httpMethod) : base(queryURL, httpMethod) { // Get the credentials to use to sign this request ITwitterCredentials twitterCredentials = TwitterCredentials; if (twitterCredentials == null) { ICredentialsAccessor credentialsAccessor = TweetinviContainer.Resolve <ICredentialsAccessor>(); twitterCredentials = credentialsAccessor.CurrentThreadCredentials; } // Send a request to the TweetinviRequestSigner server to sign this request VmRequestToSign signReq = new VmRequestToSign() { Url = queryURL, Method = httpMethod, ConsumerKey = twitterCredentials.ConsumerKey, ClientToken = twitterCredentials.AccessToken, ClientSecret = twitterCredentials.AccessTokenSecret }; // TODO: Handle Exceptions through Tweetinvi? VmAuthorizationHeader vmAuthHeader = Requester.MakePostJson <VmAuthorizationHeader>("Request/Sign", signReq); AuthorizationHeader = vmAuthHeader.AuthorizationHeader; }
public TwitterLoadCommand(ILogger <TwitterLoadCommand> log, TwitterLoadConfig config, IRedisPersistency persistency, IFileLoader fileLoader) { this.log = log ?? throw new ArgumentNullException(nameof(log)); this.config = config ?? throw new ArgumentNullException(nameof(config)); this.persistency = persistency ?? throw new ArgumentNullException(nameof(persistency)); this.fileLoader = fileLoader ?? throw new ArgumentNullException(nameof(fileLoader)); jsonConvert = TweetinviContainer.Resolve <IJsonObjectConverter>(); }
public IAccountActivityStream CreateAccountActivityStream() { var activityStream = _fakeBuilder.GenerateClass( new ConstructorNamedParameter("jsonObjectConverter", TweetinviContainer.Resolve <IJsonObjectConverter>()), new ConstructorNamedParameter("jObjectWrapper", TweetinviContainer.Resolve <IJObjectStaticWrapper>()), new ConstructorNamedParameter("tweetFactory", TweetinviContainer.Resolve <ITweetFactory>()), new ConstructorNamedParameter("userFactory", TweetinviContainer.Resolve <IUserFactory>()), new ConstructorNamedParameter("messageFactory", TweetinviContainer.Resolve <IMessageFactory>())); activityStream.UserId = ACCOUNT_ACTIVITY_USER_ID; return(activityStream); }
public void GetWebhookSubscriptionsCount() { var converter = TweetinviContainer.Resolve <IJsonObjectConverter>(); var json = @"{ ""account_name"": ""test-account"", ""subscriptions_count_all"": ""2"", ""subscriptions_count_direct_messages"": ""1"" }"; var dto = converter.DeserializeObject <IGetWebhookSubscriptionsCountResultDTO>(json); Console.WriteLine(dto); }
public void Setup() { redis = new RedisInside.Redis(i => i.Port(6666).LogTo(message => log.Debug(message))); var config = new RedisConfiguration("localhost", 6666); var jsonConvert = TweetinviContainer.Resolve <IJsonObjectConverter>(); var jsons = new FileLoader(new NullLogger <FileLoader>()).Load(Path.Combine(TestContext.CurrentContext.TestDirectory, @"data\data_20160311_1115.dat")); var tweetDto = jsonConvert.DeserializeObject <TweetDTO>(jsons[0]); tweet = Tweet.GenerateTweetFromDTO(tweetDto); link = new RedisLink("Trump", new RedisMultiplexer(config)); link.Open(); cache = new MemoryCache(new MemoryCacheOptions()); persistency = new RedisPersistency(new NullLogger <RedisPersistency>(), link, cache); persistency.ResolveRetweets = true; }
public void RegisterWebhookFormat() { var converter = TweetinviContainer.Resolve <IJsonObjectConverter>(); var json = @"{ ""id"": ""1234567890"", ""url"": ""https://your_domain.com/webhook/twitter"", ""valid"": true, ""created_at"": ""2017-06-02T23:54:02Z"" }"; var dto = converter.DeserializeObject <IWebhookDTO>(json); Console.WriteLine(dto); }
public void GetWebhookSubscriptionList() { var converter = TweetinviContainer.Resolve <IJsonObjectConverter>(); var json = @"{ ""environment"": ""appname"", ""application_id"": ""13090192"", ""subscriptions"": [ { ""user_id"": ""3001969357"" } ] }"; var dto = converter.DeserializeObject <IWebhookSubcriptionListDTO>(json); Console.WriteLine(dto); }
private void trendRefreshTimer_Tick(object sender, EventArgs e) { try { var trendsController = TweetinviContainer.Resolve <ITrendsController>(); var placeTrends = trendsController.GetPlaceTrendsAt(1); if (placeTrends != null) { trendTimer.Stop(); fetch = 0; trends = new List <ITrend>(); trends = placeTrends.Trends; trendTimer.Start(); } } catch { return; } }
public VmAuthorizationHeader Sign([FromBody] VmRequestToSign req) { // Check that the Consumer Key in the request matches the one that we have if (req.ConsumerKey != CONSUMER_KEY) { throw new ArgumentException( "Request must be for a Twitter Application that we have the credentials for", nameof(req)); } Uri uri = new Uri(req.Url); TwitterCredentials twitterCredentials = new TwitterCredentials(req.ConsumerKey, CONSUMER_SECRET, req.ClientToken, req.ClientSecret); IOAuthWebRequestGenerator oAuthWebReqGenerator = TweetinviContainer.Resolve <IOAuthWebRequestGenerator>(); IEnumerable <IOAuthQueryParameter> credentialsParams = oAuthWebReqGenerator.GenerateParameters(twitterCredentials); string authHeader = oAuthWebReqGenerator.GenerateAuthorizationHeader(uri, req.Method, credentialsParams); return(new VmAuthorizationHeader() { AuthorizationHeader = authHeader }); }
public void GetAllWebhookFormat() { var converter = TweetinviContainer.Resolve <IJsonObjectConverter>(); var json = @"{ ""environments"": [ { ""environment_name"": ""env-beta"", ""webhooks"": [ { ""id"": ""1234567890"", ""url"": ""https://your_domain.com/webhook/twitter"", ""valid"": true, ""created_at"": ""2017-06-02T23:54:02Z"" } ] } ] }"; var dto = converter.DeserializeObject <IGetAllWebhooksResultDTO>(json); Console.WriteLine(dto); }
private static void Initialize() { _savedSearchJsonFactory = TweetinviContainer.Resolve <ISavedSearchJsonFactory>(); _savedSearchJsonController = TweetinviContainer.Resolve <ISavedSearchJsonController>(); }
private static void Initialize() { _trendsJsonController = TweetinviContainer.Resolve <ITrendsJsonController>(); }
private static void Initialize() { _messageJsonController = TweetinviContainer.Resolve <IMessageJsonController>(); }
public tweetyzard() { InitializeComponent(); searchPhraseTextBox.Focus(); try { TwitterCredentials.Credentials = TwitterCredentials.CreateCredentials(accessToken, accessTokenSecret, consumerKey, consumerSecret); } catch { MessageBox.Show("Exception occured at authentication"); return; } var loggedUser = User.GetLoggedUser(); if (loggedUser != null) { userNameLabel.Visible = true; pbUser.Visible = true; userNameLabel.Text = loggedUser.Name; } else { userNameLabel.Visible = false; pbUser.Visible = false; } lblStream.ForeColor = Color.DimGray; btnExport.Enabled = false; ExportToDb.Enabled = false; string version = "ver." + System.Reflection.Assembly.GetExecutingAssembly() .GetName() .Version .ToString(); versionInfo.Text = version; try { trendingTopics.Text = ""; var trendsController = TweetinviContainer.Resolve <ITrendsController>(); IPlaceTrends placeTrends = trendsController.GetPlaceTrendsAt(1); if (placeTrends != null) { trends = placeTrends.Trends; } } catch { trendingTopics.Text = ""; } toolTipTw.SetToolTip(this.btnStartStream, "Starts the stream of tweets for the given keyword using Stream API"); toolTipTw.SetToolTip(this.btnSearch, "Searches tweets for the given keyword using Search API"); toolTipTw.SetToolTip(this.btnExport, "Exports gathered tweets to choosen datasource"); toolTipTw.SetToolTip(this.btnReset, "Refreshes the form"); toolTipTw.SetToolTip(this.btnStopStream, "Stops the running search query"); toolTipTw.SetToolTip(this.geoFlag, "Searches tweets which are only geo tagged"); }
public WebhookConfiguration() { _webhookEnvironments = new List <IRegistrableWebhookEnvironment>(); WebhookDispatcher = TweetinviContainer.Resolve <IWebhookDispatcher>(); }
private MessageQueryGenerator CreateTwitterListQueryGenerator() { return(_fakeBuilder.GenerateClass( new ConstructorNamedParameter("jsonContentFactory", TweetinviContainer.Resolve <JsonContentFactory>()) )); }
private static void Initialize() { _accountJsonController = TweetinviContainer.Resolve <IAccountJsonController>(); }
private static void Initialize() { _timelineJsonController = TweetinviContainer.Resolve <ITimelineJsonController>(); }
private static void Initialize() { _searchJsonController = TweetinviContainer.Resolve <ISearchJsonController>(); }
private static void Initialize() { _userJsonController = TweetinviContainer.Resolve <IUserJsonController>(); }
private static void Initialize() { _friendshipJsonController = TweetinviContainer.Resolve <IFriendshipJsonController>(); }