public RestResponse(RestSerializer restSerializer, IRestRequest request) { restSerializer.AssertNotNull(nameof(restSerializer)); request.AssertNotNull(nameof(request)); RestSerializer = restSerializer; Request = request; }
public void Init() { RestClient = new RestAdapter(CTP_URL); serializer = new RestSerializer(); //Authorize var access_token = "B~9!6RY6}*MFbDlPeNo7bHYLojM4I5xnYNgMe5YIDtJAeocLF"; RestClient.Authorize(access_token); }
public object ReadContentAs(Type targetType) { if (Content == null) { throw new InvalidOperationException("Content is null"); //TODO msg } var contentData = Content.ReadAsArray(); return(RestSerializer.DeserializeContent(contentData, Content.ContentType, targetType)); }
public void Init() { RestClient = new RestAdapter(ROOTSITE_URL); serializer = new RestSerializer(); //Authorize var access_token = "eyJhbGciOiJSUzI1NiIsImtpZCI6Inh1ak16em5rdmFjWEg1Zmx5NVRCd2ciLCJ0eXAiOiJhdCtqd3QifQ.eyJuYmYiOjE2MDI2MjQzOTAsImV4cCI6MTYwMjYzMTU5MCwiaXNzIjoiaHR0cHM6Ly9pZGVudGl0eS1xYS5jdHAuZXkuY29tIiwiYXVkIjoicmJhYyIsImNsaWVudF9pZCI6IkdhaWEtUUEiLCJzdWIiOiJlajhIQ1lEeXhXUkZkckZDS0kwbmhycWQ0UEthbTlRTWl0MzQ3RHRnaVVJIiwiYXV0aF90aW1lIjoxNjAyNTk0OTU2LCJpZHAiOiJhYWQiLCJuYW1lIjoiSnVhbiBQZXJleXJhIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiSnVhbi5QZXJleXJhQGV5LmNvbSIsImludGVybmFsX2lkIjoiNzBlMzVkOWUtMDEzNC00NDcyLTgxYzQtY2MxNWE4NzcxMzFmIiwic2NvcGUiOlsib3BlbmlkIiwicHJvZmlsZSIsImVwbXAiLCJyYmFjIl0sImFtciI6WyJleHRlcm5hbCJdfQ.Qhh13cZBqgCIVf-05N4FhhXfVEmF4xXG8QDWwuX5KzvAIHY94Di7TqFzqs6ltoAKyqGC1jNAq9RCG_w_iW0-t70p9lCvNhw33soKZsQvmrwSoP5OvNXcKxSfDL0ZPByBY3BM9-iK984FUO9LHPMLAFGEtlGq6IceNj-xozirBx0j8ncwXyQwUTZwZMgAFRjXq0aStAmxYFFTdaXIImsQc5aOyeMvNAKshY65ZEWp32RVP4xJJDtLtR1oB9Y8Ek0aMhe5gz0Sag8ayYm6gaazlEwzwWt7TAFOTiL_9BuQ3G7QqlIJABY4DUIyhhk41_IbNsJ1FQtyPLC3AUxvQOOnPg"; RestClient.Authorize(access_token); ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true; }
private string FormatQueryValue(RestValue value, CultureInfo cultureInfo) { var stringValue = RestSerializer.SerializeQueryValue(value, cultureInfo); if (stringValue == null) { return(null); } return(Uri.EscapeDataString(stringValue)); }
protected virtual HttpContent WithHeaders(HttpContent content, IEnumerable <RequestHeader> headers, CultureInfo cultureInfo) { foreach (var header in headers) { var value = RestSerializer.SerializeQueryValue(header.Content, cultureInfo); content.Headers.Add(header.Name, value); } return(content); }
protected AbstractRepo(DataLoader loader) : this() { crud = new CrudSprav <T>(loader.serverAdres, loader.path); var task = loader.GetData(); var data = RestSerializer.DeserializeArr <T>(task.Result); foreach (var item in data) { items.Add(GetKey(item), new ItemConteiner(item, ItemState.Default)); } }
protected virtual HttpContent CreateContent(RequestBody content) { var contentType = content.ContentType; var contentData = RestSerializer.SerializeContent(contentType, content.Content); var result = new ByteArrayContent(contentData); result.Headers.ContentType = new MediaTypeHeaderValue(contentType.MediaType) { CharSet = contentType.CharSet }; return(WithHeaders(WithContentType(result, contentType), content.Headers, CultureInfo)); }
protected CultureInfo CultureInfo => CultureInfo.CurrentCulture;//TODO!! protected virtual HttpContent CreateContent(RequestUrlEncodedContent content) { var values = new List <KeyValuePair <string, string> >(); var charSet = content.ContentType.CharSet; foreach (var field in content.Fields) { var fieldContentType = new ContentType(field.MediaType, charSet); var fieldData = RestSerializer.SerializeContent(fieldContentType, field.Content); var fieldValue = Encoding.GetEncoding(charSet).GetString(fieldData); values.Add(new KeyValuePair <string, string>(field.Name, fieldValue)); } var result = new FormUrlEncodedContent(values); return(WithHeaders(WithContentType(result, content.ContentType), content.Headers, CultureInfo)); }
public HttpRequestMessage MapRequest(IRestRequest request) { var url = RouteRenderer.Render(request.Route, request.RouteSegments, request.Queries, request.CultureInfo); var requestMessage = new HttpRequestMessage(request.Method.ToHttp(), url); if (request.Content != null) { requestMessage.Content = ContentMapper.MapContent(request.Content); } foreach (var header in request.Headers) { var headerValue = RestSerializer.SerializeQueryValue(header.Content, request.CultureInfo); requestMessage.Headers.Add(header.Name, headerValue); } return(requestMessage); }
public object MapResponse(ResponseMetadata metadata, IResponse response) { response.AssertNotNull(nameof(response)); if (metadata.Parameters.Count == 1) { var p = metadata.Parameters[0]; if (p.ParameterKind == RequestParameterKind.Body) { var content = response.Content; var contentData = content.ReadAsArray(); return(RestSerializer.DeserializeContent(contentData, content.ContentType, metadata.ResultType)); } } var model = Activator.CreateInstance(metadata.ResultType); //TODO var bindingContext = new ResponseBindingContext(metadata, model, response); foreach (var p in metadata.Parameters) { //if (p.ParameterKind == RequestParameterKind.Content) //{ // if (p.ContentKind == RestContentKind.File) // { // } // else // { // throw new NotImplementedException("TODO"); // } //} //else { throw new NotImplementedException("TODO"); } } return(model); }
private static async Task NoDiExampleAsync() { var logLevel = LogLevel.Debug; var fixSerializer = new FixSerializer(); var restSerializer = new RestSerializer(); // Market data websocket example var mdWsOptions = new MarketDataWsClientOptions { Uri = MdWsUri }; var mdLogger = Dependencies.ConsoleLogger <MarketDataWsClient>(logLevel); var mdWsClient = new MarketDataWsClient(mdWsOptions, fixSerializer, mdLogger); var mdExample = new MarketDataWsExample(mdWsClient, Dependencies.ConsoleLogger <MarketDataWsExample>(logLevel)); await mdExample.StartAsync(Token).ConfigureAwait(false); // Trading websocket example var tradingLogger = Dependencies.ConsoleLogger <TradingWsClient>(logLevel); var tradingWsClient = new TradingWsClient(TradingWsOptions, fixSerializer, tradingLogger); var tradingExample = new TradingWsExample(tradingWsClient, TradingWsOptions, Dependencies.ConsoleLogger <TradingWsExample>(logLevel)); var httpClient = new HttpClient { BaseAddress = new Uri("https://api.xena.exchange") }; var tradingRestClient = new TradingRestClient(TradingRestOptions, restSerializer, httpClient: httpClient); var tradingRestExample = new TradingRestExample( tradingRestClient, Dependencies.ConsoleLogger <TradingRestExample>(logLevel)); await tradingRestExample.StartAsync(Token).ConfigureAwait(false); // Market data rest example var marketDataRestClient = new MarketDataRestClient(restSerializer, httpClient: httpClient); var marketDataRestExample = new MarketDataRestExample( marketDataRestClient, Dependencies.ConsoleLogger <MarketDataRestExample>(logLevel)); await marketDataRestExample.StartAsync(Token).ConfigureAwait(false); }