public TimerService( IOptions <TimerConfiguration> config, IWebhookHandler webhookHandler) { _webhookHandler = webhookHandler; _config = config.Value; }
public WebhookProcessor(IOptionsMonitor <SecuredFulfillmentClientConfiguration> options, IFulfillmentClient fulfillmentClient, IWebhookHandler webhookHandler, ILogger <WebhookProcessor> logger) : this(options.CurrentValue, fulfillmentClient, webhookHandler, logger) { }
public WebhookMiddleware( RequestDelegate next, TelegramApiConfiguration config, IWebhookHandler webhookHandler) { Next = next ?? throw new System.ArgumentNullException(nameof(next)); Config = config ?? throw new System.ArgumentNullException(nameof(config)); WebhookHandler = webhookHandler; }
/// <summary> /// Initializes a new instance of the <see cref="MarketplaceProcessor"/> class. /// </summary> /// <param name="marketplaceClient">Marketplace API client.</param> /// <param name="webhookHandler">Webhook handler.</param> /// <param name="logger">Logger.</param> public MarketplaceProcessor( IMarketplaceSaaSClient marketplaceClient, IWebhookHandler webhookHandler, ILogger <MarketplaceProcessor> logger) { this.logger = logger; this.marketplaceClient = marketplaceClient; this.webhookHandler = webhookHandler; this.marketplaceClient = marketplaceClient; }
public WebhookProcessor( SecuredFulfillmentClientConfiguration options, IFulfillmentClient fulfillmentClient, IWebhookHandler webhookHandler, ILogger <WebhookProcessor> logger) { this.options = options; this.fulfillmentClient = fulfillmentClient; this.logger = logger; this.webhookHandler = webhookHandler; }
/// <summary> /// Initializes a new instance of the <see cref="WebhookProcessor"/> class. /// </summary> /// <param name="apiClient">The API client.</param> /// <param name="webhookHandler">The webhook handler.</param> public WebhookProcessor(IFulfillmentApiClient apiClient, IWebhookHandler webhookHandler) { this.apiClient = apiClient; this.webhookHandler = webhookHandler; }
public HealthCheckController(IWebhookHandler webhookHandler, IHealthCheckRepository healthCheckRepository) { _webhookHandler = webhookHandler; _healthCheckRepository = healthCheckRepository; }
public BackgroundReportingService(IWebhookHandler webhookHandler, IHealthCheckRepository healthCheckRepository) { _webhookHandler = webhookHandler; _healthCheckRepository = healthCheckRepository; }
public WebhookController(IWebhookHandler handler) { _handler = handler; }
public static int HandleWebhook(IWebhookHandler handler, bool?advancedWebhook = false) { if (!HttpListener.IsSupported) { Console.WriteLine("Sorry, your OS does not support the default windows HTTP listener. Webhook demo cannot proceed."); Environment.Exit(1); } Console.WriteLine("Webhook: Starting HTTP listener for localhost on port 9876."); var listener = new HttpListener(); listener.Prefixes.Add("http://localhost:9876/"); listener.Start(); Console.WriteLine("Webhook: Waiting for a request ... "); if (advancedWebhook == true) { Console.WriteLine("Listening for an AdvancedWebhook!"); } Console.WriteLine("Note: If using a reverse proxy (like ngrok) make sure you set the host header to localhost:9876"); var context = listener.GetContext(); Console.WriteLine("Webhook: Request received"); using (var reader = new StreamReader(context.Request.InputStream, Encoding.UTF8)) { var body = reader.ReadToEnd(); var headers = new Dictionary <string, List <string> >(); foreach (var headerName in context.Request.Headers.AllKeys) { headers.Add(headerName, new List <string>()); foreach (var headerValue in context.Request.Headers.GetValues(headerName)) { headers[headerName].Add(headerValue); } } IWebhookPackage webhookPackage; if (advancedWebhook == true) { Console.WriteLine("Listening for an AdvancedWebhook!"); webhookPackage = handler.HandleAdvancedWebhook(headers, body, "POST", ""); } else { webhookPackage = handler.HandleWebhook(headers, body, "POST", ""); } if (webhookPackage is AuthorizationResponseWebhookPackage) { var authPackage = webhookPackage as AuthorizationResponseWebhookPackage; PrintAuthorizationResponse(authPackage.AuthorizationResponse); } else if (webhookPackage is ServiceUserSessionEndWebhookPackage) { var sessionEndPackage = webhookPackage as ServiceUserSessionEndWebhookPackage; Console.WriteLine($"Session remotely ended for Service User Hash {sessionEndPackage.ServiceUserHash} at {sessionEndPackage.LogoutRequested}"); } else if (webhookPackage is DirectoryUserDeviceLinkCompletionWebhookPackage) { var message = ((DirectoryUserDeviceLinkCompletionWebhookPackage)webhookPackage).DeviceLinkData; Console.WriteLine($"You have a new linked device, congratulations!"); Console.WriteLine($" DeviceID: {message.DeviceId}"); Console.WriteLine($" DevicePubKey: \n{message.DevicePublicKey}"); Console.WriteLine($" DevicePubKeyID: {message.DevicePublicKeyId}"); } else if (webhookPackage is AdvancedAuthorizationResponseWebhookPackage) { var authPackage = webhookPackage as AdvancedAuthorizationResponseWebhookPackage; PrintAdvancedAuthorizationResponse(authPackage.AdvancedAuthorizationResponse); } else { Console.WriteLine("Error: received a webhook package but it was not for a known webhook type!"); return(1); } return(0); } }