public static Uri BuildUri(EndPointConfig config, string path, NameValueCollection query)
        {
            if (path.StartsWith("/"))
            {
                path = path.Substring(1);
            }

            var uriBuilder = new UriBuilder(config.Scheme, config.Host)
            {
                Path  = path,
                Query = RestUtility.BuildQueryString(query)
            };

            if (config.Port.HasValue)
            {
                uriBuilder.Port = config.Port.Value;
            }
            return(uriBuilder.Uri);
        }
示例#2
0
 public UdpClientService(EndPointConfig remoteEndPoint)
 {
     RemoteEndPoint = remoteEndPoint;
 }
示例#3
0
 internal SumoClientImpl(EndPointConfig config)
 {
     this.config   = config;
     this.executor = new SumoQueryExecutor(config);
 }
 public static SubscriberItem GetSubscriberItem(EndPointConfig endPoint, string path, NameValueCollection query)
 {
     return(GetSubscriberItem(BuildUri(endPoint, path, query), endPoint.Headers));
 }
示例#5
0
 public static ISumoClient New(EndPointConfig config)
 {
     return(new SumoClientImpl(config));
 }
示例#6
0
 public static void SetupDefault(EndPointConfig config)
 {
     SumoClient.DefaultConfig = config;
 }
示例#7
0
 public async Task RemoveSubscriber(EndPointConfig endPoint, string path, NameValueCollection query = null)
 {
     await RemoveSubscriber(SubscriberItemBuilder.GetSubscriberItem(endPoint, path, query));
 }
示例#8
0
 public bool HasSubscriber(EndPointConfig endPoint, string path, NameValueCollection query = null)
 {
     return(HasSubscriber(SubscriberItemBuilder.GetSubscriberItem(endPoint, path, query)));
 }
示例#9
0
 public SumoQueryExecutor(EndPointConfig config)
 {
     this.searchApiUri = new Uri(config.ApiUri, "v1/search/jobs");
     this.AuthHeader   = Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes($"{config.AccessId}:{config.AccessKey}"));
 }