Thanks to Dennis Janiak for contributing this example.
public static class JavaScripMinifier { private const string URL_JS_MINIFIER = "https://www.toptal.com/developers/javascript-minifier/raw"; private const string POST_PAREMETER_NAME = "input"; public static async Task<String> MinifyJs(string inputJs) { List<KeyValuePair<String, String>> contentData = new List<KeyValuePair<String, String>> { new KeyValuePair<String, String>(POST_PAREMETER_NAME, inputJs) }; using (HttpClient httpClient = new HttpClient()) { using (FormUrlEncodedContent content = new FormUrlEncodedContent(contentData)) { using (HttpResponseMessage response = await httpClient.PostAsync(URL_JS_MINIFIER, content)) { response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStringAsync(); } } } } }
Usage:
using (Task<String> task = JavaScriptMinifier.MinifyJs("/* comment */ console.log( 1 ); ")) { task.Wait(); Console.WriteLine(task.Result); // input{font-size:9pt} }
Thanks to Juan Herrera for contributing this example.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://www.toptal.com/developers/javascript-minifier/raw"); request.Method = "POST"; string formContent = "input=" + jsContent.Text; byte[] byteArray = Encoding.UTF8.GetBytes(formContent); request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = byteArray.Length; Stream str = request.GetRequestStream(); str.Write(byteArray, 0, byteArray.Length); str.Close(); WebResponse response = request.GetResponse(); str = response.GetResponseStream(); if (str != null) { StreamReader reader = new StreamReader(str); jsMinified.Text = reader.ReadToEnd(); reader.Close(); str.Close(); } response.Close();
Click on the language of your choice to see an example: