public QuarkClient(string uriHTTP, string uriStream, IReactivixNetworkTransport transport) { BaseHTTPURI = ReactivixURI.FromURI(uriHTTP); BaseStreamURI = ReactivixURI.FromURI(uriStream); ClientHTTP = new ReactivixHTTPClient(); ResponsePacket = new ReactivixHTTPPacket(new ReactivixJSONIOProcessor()); ClientStream = new QuarkNetworkClient(transport, BaseStreamURI.Host, BaseStreamURI.Port); OAuth = new OAuthClient(BaseHTTPURI.Copy()); }
public void SendRequest <TResponse>(string uri, ReactivixHTTPPacket request, ReactivixHTTPPacket response, Action <ReactivixHTTPPacket> onResponse = null, Action <Exception> onError = null) { ReactivixURI URI = ReactivixURI.FromURI(uri); if (URI.Port == 0) { if (URI.Scheme == SCHEME_HTTP) { URI.Port = PORT_HTTP; } if (URI.Scheme == SCHEME_HTTPS) { URI.Port = PORT_HTTPS; } } if (request.Processor == null) { request.Processor = new ReactivixFormIOProcessor(); } if (response.Processor == null) { response.Processor = new ReactivixPlainIOProcessor(); } request.URI = URI; request.Headers.Add(new KeyValuePair <string, string>("Accept", response.Processor.MIME)); response.URI = URI; response.DataType = typeof(TResponse); _tasks.Add(new ReactivixHTTPClientTask { OnResponse = onResponse, OnError = onError, Request = request.Copy(), Response = response.Copy() }); }