public static HttpClient Create(ILineConfiguration configuration, ILineBotLogger logger) { var loggingDelegatingHandler = new LoggingDelegatingHandler(logger); var client = new HttpClient(loggingDelegatingHandler) { BaseAddress = new Uri("https://api.line.me/v2/bot/") }; client.DefaultRequestHeaders.Add("Authorization", $"Bearer {configuration.ChannelAccessToken}"); return(client); }
public ModuleManager( ILineConfiguration configuration, ILineBot bot, LineBotService service) { Configuration = configuration; Bot = bot; Service = service; if (SuperUsers == null) { SuperUsers = new List <string>(); } }
internal LineBot(ILineConfiguration configuration, HttpClient client) { Guard.NotNull(nameof(configuration), configuration); if (string.IsNullOrWhiteSpace(configuration.ChannelAccessToken)) { throw new ArgumentException($"The {nameof(configuration.ChannelAccessToken)} cannot be null or whitespace.", nameof(configuration)); } if (string.IsNullOrWhiteSpace(configuration.ChannelSecret)) { throw new ArgumentException($"The {nameof(configuration.ChannelSecret)} cannot be null or whitespace.", nameof(configuration)); } _configuration = configuration; _client = client ?? HttpClientFactory.Create(configuration); }
internal LineBot(ILineConfiguration configuration, HttpClient?client, ILineBotLogger?logger) { Guard.NotNull(nameof(configuration), configuration); if (string.IsNullOrWhiteSpace(configuration.ChannelAccessToken)) { throw new ArgumentException($"The {nameof(configuration.ChannelAccessToken)} cannot be null or whitespace.", nameof(configuration)); } if (string.IsNullOrWhiteSpace(configuration.ChannelSecret)) { throw new ArgumentException($"The {nameof(configuration.ChannelSecret)} cannot be null or whitespace.", nameof(configuration)); } _logger = logger ?? new EmptyLineBotLogger(); _client = client ?? HttpClientFactory.Create(configuration, _logger); _signatureValidator = new SignatureValidator(configuration); }
public SignatureValidator(ILineConfiguration configuration) { _configuration = configuration; }
/// <summary> /// Initializes a new instance of the <see cref="LineBot"/> class. /// </summary> /// <param name="configuration">The configuration for the client.</param> public LineBot(ILineConfiguration configuration) : this(configuration, null) { }
/// <summary> /// Initializes a new instance of the <see cref="LineBot"/> class. /// </summary> /// <param name="configuration">The configuration for the client.</param> /// <param name="logger">The logger.</param> public LineBot(ILineConfiguration configuration, ILineBotLogger logger) : this(configuration, null, logger) { }
public SignatureValidator(ILineConfiguration configuration) { Guard.NotNull(nameof(configuration), configuration); _key = Encoding.UTF8.GetBytes(configuration.ChannelSecret); }
public static HttpClient Create(ILineConfiguration configuration) { return(Clients.GetOrAdd(configuration.ChannelAccessToken, CreateHttpClient)); }