public void CanConvertFromStringReturnsFalseForHttpRequestMessage()
 {
     HttpRequestMessage request = new HttpRequestMessage<int>();
     HttpParameterValueConverter converter = HttpParameterValueConverter.GetValueConverter(request.GetType());
     if (converter.CanConvertFromString)
     {
         Assert.Fail(string.Format("CanConvertFromString was wrong for HttpRequestMessage."));
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Initializes a new instance of <see cref="WebApiUsageRequest"/>
 /// </summary>
 /// <param name="request"></param>
 public WebApiUsageRequest(HttpRequestMessage request)
 {
     if (request != null)
     {
         UsageType = request.GetType().Name;
         RequestMethod = request.Method.Method;
         Uri = request.RequestUri.ToString();
         IP = ((HttpContextBase)request.Properties["MS_HttpContext"]).Request.UserHostAddress;
         base.ExtractHeaders(request.Headers);
     }
     else
     {
         throw new ArgumentNullException("Request cannot be null");
     }
 }
        public void HttpRequestMessageFactory_AcceptsCustomDelegate()
        {
            Configuration configuration = new Configuration(
                Environment.DEVELOPMENT,
                "integration_merchant_id",
                "integration_public_key",
                "integration_private_key"
            );

#if netcore
            configuration.HttpRequestMessageFactory =
                delegate (HttpMethod method, string requestUriString)
                {
                    HttpRequestMessage httpRequestMessage = new HttpRequestMessage(method, requestUriString);
                    httpRequestMessage.Headers.Range = new RangeHeaderValue(1024, 2048);
                    return httpRequestMessage;
                };
            Assert.IsNotNull(configuration.HttpRequestMessageFactory);

            var btWebRequest = configuration.HttpRequestMessageFactory(HttpMethod.Get, configuration.Environment.GatewayURL + "/merchants/integration_merchant_id");
            HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get, "http://webrequest.com");

            Assert.IsInstanceOf(requestMessage.GetType(), btWebRequest);
            var headerValue = btWebRequest.Headers.Range;
            StringAssert.Contains("1024", btWebRequest.Headers.Range.ToString());
#else
            configuration.HttpWebRequestFactory =
                delegate(String requestUriString)
                {
                    var webRequest = WebRequest.Create(requestUriString) as HttpWebRequest;
                    webRequest.AddRange(1024);
                    return webRequest;
                };

            Assert.IsNotNull(configuration.HttpWebRequestFactory);

            var btWebRequest = configuration.HttpWebRequestFactory(configuration.Environment.GatewayURL + "/merchants/integration_merchant_id");
            HttpWebRequest httpWebRequest = WebRequest.Create("http://webrequest.com") as HttpWebRequest;
            
            Assert.IsInstanceOf(httpWebRequest.GetType(), btWebRequest);
            StringAssert.Contains("1024", btWebRequest.Headers["Range"]);
#endif
        }
        public void HttpRequestMessageFactory_ReturnsDefaultIfNotSpecified()
        {
            Configuration configuration = new Configuration(
                Environment.DEVELOPMENT,
                "integration_merchant_id",
                "integration_public_key",
                "integration_private_key"
            );

#if netcore
            Assert.IsNotNull(configuration.HttpRequestMessageFactory);
            HttpRequestMessage httpRequestMessage = new HttpRequestMessage(HttpMethod.Get, "http://webrequest.com");
            Assert.IsInstanceOf(httpRequestMessage.GetType(), configuration.HttpRequestMessageFactory(HttpMethod.Get, configuration.Environment.GatewayURL + "/merchants/integration_merchant_id"));
#else
            Assert.IsNotNull(configuration.HttpWebRequestFactory);
            HttpWebRequest httpWebRequest = WebRequest.Create("http://webrequest.com") as HttpWebRequest;
            Assert.IsInstanceOf(httpWebRequest.GetType(), configuration.HttpWebRequestFactory(configuration.Environment.GatewayURL + "/merchants/integration_merchant_id"));
#endif
        }