Exemplo n.º 1
0
        public async Task <bool> AddItemAsync(SnippetModel item)
        {
            if (item == null)
            {
                return(false);
            }

            var token = await _tokenProvider.GetToken();

            var headers = new Dictionary <string, string>
            {
                { "Authorization", $"Bearer {token}" }
            };

            var request = new CreateSnippet(item.Id,
                                            item.Name,
                                            item.Language,
                                            item.Variables,
                                            item.Template,
                                            item.Code);

            await _client.PostAsync($"api/Snippet", request, headers);

            return(true);
        }
Exemplo n.º 2
0
        public static async Task PostAsync <TRequest>(this IRequestClient client, string requestUri, TRequest request, Dictionary <string, string> headers = null)
        {
            var requestString = JsonSerializer.Serialize(request);
            var result        = await client.PostAsync(requestUri, requestString, "application/json", headers);

            result.EnsureSuccessStatusCode();
        }
Exemplo n.º 3
0
        public static async Task <TResponse> PostAsync <TResponse, TRequest>(this IRequestClient client, string requestUri, TRequest request, Dictionary <string, string> headers = null)
        {
            var requestString = JsonSerializer.Serialize(request);
            var result        = await client.PostAsync(requestUri, requestString, "application/json", headers);

            var bytes = result.EnsureSuccessStatusCode().Body.ToArray();

            return(JsonSerializer.Deserialize <TResponse>(bytes, new JsonSerializerOptions {
                PropertyNameCaseInsensitive = true
            }));
        }
Exemplo n.º 4
0
        public async Task <ApiResponse <T> > ExecuteRequest <T, TP>(SystemModels.EndPoint endpoint, TP objParam)
        {
            var response    = new ApiResponse <T>();
            var webResponse = new ApiResponse <string>();

            //------------------------- Get Headers ---------------------------------

            Dictionary <string, string> headers = null;

            if (endpoint.Headers != null && endpoint.Headers.Header != null)
            {
                headers = endpoint.Headers.Header.ToDictionary(x => x.Key, x => x.Value);
            }
            //------------------------- Send Request ---------------------------------

            switch (endpoint.HttpMethod.ToUpper())
            {
            case "GET":
                var url = GetRequestUrl <TP>(endpoint.ApiMethod, objParam);
                webResponse = await _requestClient.GetAsync(url, headers);      //todo pass param

                break;

            case "POST":
                var content = string.Empty;
                if (typeof(TP) == typeof(String))
                {
                    content = objParam.ToString();
                }
                else
                {
                    var jsonResponse = _serializer.Serialize(objParam);
                    content = jsonResponse.Data;
                }
                webResponse = await _requestClient.PostAsync <TP>(endpoint.ApiMethod, content, headers);

                break;
            }
            //------------------------- Deserialize Response -----------------------------

            if (webResponse.Status.Ok && webResponse.Data != null) // desrialize
            {
                response = _serializer.Deserialize <T>(webResponse.Data);
            }
            else
            {
                response.Status = webResponse.Status;
            }
            //------------------------------------------------------------------------
            return(response);
        }
Exemplo n.º 5
0
        public async Task <bool> AddItemAsync(UserModel item)
        {
            if (item == null)
            {
                return(false);
            }

            var token = await _tokenProvider.GetToken();

            var headers = new Dictionary <string, string>
            {
                { "Authorization", $"Bearer {token}" }
            };

            var request = new CreateUser(item.Id,
                                         item.Username,
                                         item.EMail,
                                         item.Password);

            await _client.PostAsync($"api/User", request, headers);

            return(true);
        }