예제 #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="RestClientService"/> class
 /// with a specified <see cref="IRestClientDescription"/> instance.
 /// </summary>
 /// <param name="configuration">The configuration instance.</param>
 public RestClientService(IRestClientDescription configuration) : base(configuration)
 {
     if (this.Description == null)
     {
         this.Description = InternalConfiguration.GetServiceClientConfiguration().Clients.Find(d => d.Name == endpointName);
     }
 }
예제 #2
0
 /// <summary>
 /// Initializes a new instance <see cref="RestClientService"/> class
 /// with a specified endpoint name.
 /// </summary>
 /// <param name="endpointName">The name of the endpoint to use in the configuration.</param>
 public RestClientService(string endpointName) : base(InternalConfiguration.GetServiceClientConfiguration().Clients.Find(x => x.Name == endpointName))
 {
     this.endpointName = endpointName;
     this.Requesting  += (o, e) =>
     {
         EntitySource.Current = new EntitySource(new WebEntitySourceProvider(this.Credentials));
     };
 }
예제 #3
0
        /// <summary>
        /// Creates the HTTP request.
        /// </summary>
        /// <param name="url">The URL.</param>
        /// <param name="query">The query.</param>
        /// <returns>WebRequest.</returns>
        protected override WebRequest CreateHttpRequest(string url, NameValueCollection query)
        {
            if (this.Description == null)
            {
                this.Description = InternalConfiguration.GetServiceClientConfiguration().Clients.Find(d => d.Name == endpointName);
            }

            var retVal = (HttpWebRequest)base.CreateHttpRequest(url, query);

            // Certs?
            if (this.ClientCertificates != null)
            {
                retVal.ClientCertificates.AddRange(this.ClientCertificates);
            }

            // Compress?
            if (this.Description.Binding.Optimize)
            {
                retVal.Headers.Add(HttpRequestHeader.AcceptEncoding, "deflate,gzip");
            }

            return(retVal);
        }