/// <summary> /// Send a mail message async /// </summary> /// <param name="message">The message to send</param> /// <returns></returns> public static async Task <MailReceipt> SendAsync(MailMessage message) { //check for parameters ThrowIf.IsArgumentNull(() => message); var client = new HttpClient(); client.Timeout = new TimeSpan(0, 0, ObjectiaClient.GetTimeout()); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Add("User-Agent", "objectia-csharp/" + Constants.VERSION); client.DefaultRequestHeaders.Add("Authorization", "Bearer " + ObjectiaClient.GetApiKey()); client.DefaultRequestHeaders.Add("Accept", "application/pdf"); var payload = message.ToContent(); var response = await client.PostAsync(Constants.API_BASE_URL + "/v1/mail/send", payload); return(await ParseResponse <MailReceipt>(response)); }
protected static async Task <HttpResponseMessage> PostJSON(string path, HttpContent payload) { try { var client = new HttpClient(); client.Timeout = new TimeSpan(0, 0, ObjectiaClient.GetTimeout()); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Add("User-Agent", "objectia-csharp/" + Constants.VERSION); client.DefaultRequestHeaders.Add("Authorization", "Bearer " + ObjectiaClient.GetApiKey()); client.DefaultRequestHeaders.Add("Accept", "application/json"); return(await client.PostAsync(Constants.API_BASE_URL + path, payload)); } catch (HttpRequestException ex) { throw new APIConnectionException(ex.Message); } catch (TaskCanceledException ex) { throw new APITimeoutException(ex.Message); } }
public static async Task <byte[]> CreateAsync(PDFOptions options) { //check for parameters ThrowIf.IsArgumentNull(() => options); var client = new HttpClient(); client.Timeout = new TimeSpan(0, 0, ObjectiaClient.GetTimeout()); client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Add("User-Agent", "objectia-csharp/" + Constants.VERSION); client.DefaultRequestHeaders.Add("Authorization", "Bearer " + ObjectiaClient.GetApiKey()); client.DefaultRequestHeaders.Add("Accept", "application/pdf"); var payload = options.ToContent(); var response = await client.PostAsync(Constants.API_BASE_URL + "/v1/pdf/create", payload); return(await GetRawBody(response)); /* var client = new RestClient(Constants.API_BASE_URL); * client.Timeout = ObjectiaClient.GetTimeout() * 1000; * client.UseJson(); * * var request = new RestRequest("/v1/pdf/create", Method.POST); * request.AddHeader("Authorization", "bearer " + ObjectiaClient.GetApiKey()); * request.AddHeader("User-Agent", "objectia-csharp/" + Constants.VERSION); * request.AddHeader("Content-Type", "application/json"); * request.AddHeader("Accept", "application/pdf"); * * var payload = options.ToJSON(); * request.AddJsonBody(payload.ToString()); * * var response = await client.ExecuteAsync(request); * return GetRawBody(response);*/ }
public void SetUp() { apiKey = Environment.GetEnvironmentVariable("OBJECTIA_APIKEY"); ObjectiaClient.Init(apiKey); }