Example #1
0
		private WebRequest BuildHttpRequest(string resource, RestResponseFormat format, params string[] parms)
		{
			var hasParams = parms != null && parms.Length > 0;
			var uriBuilder = new UriBuilder(_address);
			uriBuilder.Path = "rest/" + resource + (hasParams ? "/" : "") + string.Join("/", parms) + "." + format.ToString().ToLowerInvariant();

			var request = WebRequest.CreateHttp(uriBuilder.Uri);
			request.Method = "GET";
#if !(PORTABLE || NETCORE)
			request.KeepAlive = false;
#endif
			return request;
		}
        public async Task <byte[]> SendRequestAsync(string resource, RestResponseFormat format, params string[] parms)
        {
            WebRequest request = BuildHttpRequest(resource, format, parms);

            using (WebResponse response = await GetWebResponseAsync(request).ConfigureAwait(false))
            {
                Stream stream      = response.GetResponseStream();
                int    bytesToRead = (int)response.ContentLength;
                byte[] buffer      = await stream.ReadBytesAsync(bytesToRead).ConfigureAwait(false);

                return(buffer);
            }
        }
Example #3
0
		/// <summary>
		/// Initializes a new instance of the <see cref="RestClient"/> class.
		/// </summary>
		/// <param name="address">The rest API endpoint</param>
		/// <param name="format">The format (bin | hex | json).</param>
		/// <exception cref="System.ArgumentNullException">Null rest API endpoint</exception>
		/// <exception cref="System.ArgumentException">Invalid value for RestResponseFormat</exception>
		private RestClient(Uri address, RestResponseFormat format)
		{
			if(address == null)
				throw new ArgumentNullException("address");

			var typeOfRestResponseFormat = typeof(RestResponseFormat);
			if(!Enum.IsDefined(typeOfRestResponseFormat, format))
			{
				throw new ArgumentException("Invalid value for RestResponseFormat");
			}

			_address = address;
			_format = format;
		}
Example #4
0
        private WebRequest BuildHttpRequest(string resource, RestResponseFormat format, params string[] parms)
        {
            var hasParams  = parms != null && parms.Length > 0;
            var uriBuilder = new UriBuilder(_address)
            {
                Path = "rest/" + resource + (hasParams ? "/" : "") + string.Join("/", parms) + "." +
                       format.ToString().ToLowerInvariant()
            };

            var request = WebRequest.CreateHttp(uriBuilder.Uri);

            request.Method = "GET";

            return(request);
        }
Example #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RestClient"/> class.
        /// </summary>
        /// <param name="address">The rest API endpoint</param>
        /// <param name="format">The format (bin | hex | json).</param>
        /// <exception cref="System.ArgumentNullException">Null rest API endpoint</exception>
        /// <exception cref="System.ArgumentException">Invalid value for RestResponseFormat</exception>
        private RestClient(Uri address, RestResponseFormat format)
        {
            if (address == null)
            {
                throw new ArgumentNullException("address");
            }

            var typeOfRestResponseFormat = typeof(RestResponseFormat);

            if (!Enum.IsDefined(typeOfRestResponseFormat, format))
            {
                throw new ArgumentException("Invalid value for RestResponseFormat");
            }

            _address = address;
            _format  = format;
        }
Example #6
0
		private WebRequest BuildHttpRequest(string resource, RestResponseFormat format, params string[] parms)
		{
			var hasParams = parms != null && parms.Length > 0;
			var uriBuilder = new UriBuilder(_address);
			uriBuilder.Path = "rest/" + resource + (hasParams ? "/" : "") + string.Join("/", parms) + "." + format.ToString().ToLowerInvariant();

			var request = WebRequest.CreateHttp(uriBuilder.Uri);
			request.Method = "GET";
#if !PORTABLE
			request.KeepAlive = false;
#endif
			return request;
		}
Example #7
0
		private async Task<byte[]> SendRequestAsync(string resource, RestResponseFormat format, params string[] parms)
		{
			var request = BuildHttpRequest(resource, format, parms);
			using(var response = await GetWebResponse(request).ConfigureAwait(false))
			{
				var stream = response.GetResponseStream();
				var bytesToRead = (int)response.ContentLength;
				var buffer = stream.ReadBytes(bytesToRead);
				return buffer;
			}
		}
Example #8
0
 private object BuildHttpRequest(string resource, RestResponseFormat format, params string[] parms)
 {
     return(null);
 }
Example #9
0
 public async Task <byte[]> SendRequestAsync(string resource, RestResponseFormat format, params string[] parms)
 {
     return(null);
 }