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); }
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(); }
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 })); }
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); }
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); }