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:
@@ -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));
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user