Custom header to HttpClient request
I have found the answer to my question.
client.DefaultRequestHeaders.Add("X-Version","1");
That should add a custom header to your request
Here is an answer based on that by Anubis (which is a better approach as it doesn't modify the headers for every request) but which is more equivalent to the code in the original question:
using Newtonsoft.Json;...var client = new HttpClient();var httpRequestMessage = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("https://api.clickatell.com/rest/message"), Headers = { { HttpRequestHeader.Authorization.ToString(), "Bearer xxxxxxxxxxxxxxxxxxx" }, { HttpRequestHeader.Accept.ToString(), "application/json" }, { "X-Version", "1" } }, Content = new StringContent(JsonConvert.SerializeObject(svm)) };var response = client.SendAsync(httpRequestMessage).Result;
var request = new HttpRequestMessage { RequestUri = new Uri("[your request url string]"), Method = HttpMethod.Post, Headers = { { "X-Version", "1" } // HERE IS HOW TO ADD HEADERS, { HttpRequestHeader.Authorization.ToString(), "[your authorization token]" }, { HttpRequestHeader.ContentType.ToString(), "multipart/mixed" },//use this content type if you want to send more than one content type }, Content = new MultipartContent { // Just example of request sending multipart request new ObjectContent<[YOUR JSON OBJECT TYPE]>( new [YOUR JSON OBJECT TYPE INSTANCE](...){...}, new JsonMediaTypeFormatter(), "application/json"), // this will add 'Content-Type' header for the first part of request new ByteArrayContent([BINARY DATA]) { Headers = { // this will add headers for the second part of request { "Content-Type", "application/Executable" }, { "Content-Disposition", "form-data; filename=\"test.pdf\"" }, }, }, },};