Esempio n. 1
0
        public RestResponse(RestSerializer restSerializer, IRestRequest request)
        {
            restSerializer.AssertNotNull(nameof(restSerializer));
            request.AssertNotNull(nameof(request));

            RestSerializer = restSerializer;
            Request        = request;
        }
Esempio n. 2
0
        public void Init()
        {
            RestClient = new RestAdapter(CTP_URL);
            serializer = new RestSerializer();
            //Authorize
            var access_token = "B~9!6RY6}*MFbDlPeNo7bHYLojM4I5xnYNgMe5YIDtJAeocLF";

            RestClient.Authorize(access_token);
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 11
0
        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);
        }
Esempio n. 12
0
        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);
        }