1
0
mirror of https://github.com/JKorf/CryptoExchange.Net.git synced 2026-10-06 03:11:11 +00:00

Added code docs, added ContinueOnQueryResponse

This commit is contained in:
Jan Korf
2019-08-06 13:19:34 +02:00
parent 11016bc213
commit 780da53475
50 changed files with 2545 additions and 30 deletions
+19
View File
@@ -6,65 +6,84 @@ using CryptoExchange.Net.Interfaces;
namespace CryptoExchange.Net.Requests
{
/// <summary>
/// Request object
/// </summary>
public class Request : IRequest
{
private readonly WebRequest request;
/// <summary>
/// Create request object for webrequest
/// </summary>
/// <param name="request"></param>
public Request(WebRequest request)
{
this.request = request;
}
/// <inheritdoc />
public WebHeaderCollection Headers
{
get => request.Headers;
set => request.Headers = value;
}
/// <inheritdoc />
public string ContentType
{
get => request.ContentType;
set => request.ContentType = value;
}
/// <inheritdoc />
public string Content { get; set; }
/// <inheritdoc />
public string Accept
{
get => ((HttpWebRequest)request).Accept;
set => ((HttpWebRequest)request).Accept = value;
}
/// <inheritdoc />
public long ContentLength
{
get => ((HttpWebRequest)request).ContentLength;
set => ((HttpWebRequest)request).ContentLength = value;
}
/// <inheritdoc />
public string Method
{
get => request.Method;
set => request.Method = value;
}
/// <inheritdoc />
public TimeSpan Timeout
{
get => TimeSpan.FromMilliseconds(request.Timeout);
set => request.Timeout = (int)Math.Round(value.TotalMilliseconds);
}
/// <inheritdoc />
public Uri Uri => request.RequestUri;
/// <inheritdoc />
public void SetProxy(string host, int port, string login, string password)
{
request.Proxy = new WebProxy(host, port);
if(!string.IsNullOrEmpty(login) && !string.IsNullOrEmpty(password)) request.Proxy.Credentials = new NetworkCredential(login, password);
}
/// <inheritdoc />
public async Task<Stream> GetRequestStream()
{
return await request.GetRequestStreamAsync().ConfigureAwait(false);
}
/// <inheritdoc />
public async Task<IResponse> GetResponse()
{
return new Response((HttpWebResponse)await request.GetResponseAsync().ConfigureAwait(false));
@@ -3,8 +3,12 @@ using CryptoExchange.Net.Interfaces;
namespace CryptoExchange.Net.Requests
{
/// <summary>
/// WebRequest factory
/// </summary>
public class RequestFactory : IRequestFactory
{
/// <inheritdoc />
public IRequest Create(string uri)
{
return new Request(WebRequest.Create(uri));
+11 -1
View File
@@ -1,33 +1,43 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using CryptoExchange.Net.Interfaces;
namespace CryptoExchange.Net.Requests
{
/// <summary>
/// HttpWebResponse response object
/// </summary>
public class Response : IResponse
{
private readonly HttpWebResponse response;
/// <inheritdoc />
public HttpStatusCode StatusCode => response.StatusCode;
/// <summary>
/// Create response for http web response
/// </summary>
/// <param name="response"></param>
public Response(HttpWebResponse response)
{
this.response = response;
}
/// <inheritdoc />
public Stream GetResponseStream()
{
return response.GetResponseStream();
}
/// <inheritdoc />
public IEnumerable<Tuple<string, string>> GetResponseHeaders()
{
return response.Headers.ToIEnumerable();
}
/// <inheritdoc />
public void Close()
{
response.Close();