-
Notifications
You must be signed in to change notification settings - Fork 94
Let's get started
Release version:v2.0.16.83
Performs a HTTP GET on a given URL and executes the lambda function provided to the OnSuccess method. This example prints the content of the web page to the command line.
Http.Get("https://jthorne.co.uk/httplib").OnSuccess(result =>
{
Console.Write(result);
}).Go();
Errors can be caught through using the OnFail method as show below:
Http.Get("https://jthorne.co.uk/httplib").OnSuccess(result =>
{
Console.Write(result);
}).OnFail(webexception =>
{
Console.Write(webexception.Message);
}).Go();
Web page form data can be posted to a web service using the .Form method as shown below. From user requests, this method also supports posting of dictionaries.
Http.Post("https://jthorne.co.uk/httplib")
.Form(new { name = "James", username = "j6mes" })
.Go();
Alternatively, a raw message (such as SOAP or JSON) can be posted using the .Body method.
Multiple files from the local computer can be uploaded to the remote server through specifying a list of NamedFileStreams in the .Upload method.
Http.Post("https://jthorne.co.uk/httplib")
.Upload(files:new[]
{
new NamedFileStream("myfile", "photo.jpg", "application/octet-stream", File.OpenRead(@"C:\photo.jpg"))
}).Go();
And of course, fitting with the true flexibility of HttpLib, a progress monitor and onsuccess method can be added too:
Http.Post("https://jthorne.co.uk/httplib")
.Upload(files:new[] {
new NamedFileStream("myfile", "photo.jpg", "application/octet-stream", File.OpenRead(@"C:\photo.jpg"))
},
onProgressChanged:
(bytesSent, totalBytes) =>
{
Console.WriteLine("Uploading: " + (bytesSent / totalBytes)*100 + "% completed");
})
.OnSuccess(result=>
{
Console.WriteLine(result);
}).Go();
Files can be downloaded directly to disk using the DownloadTo extension. An OnSuccess method can be added as a parameter here.
If the server doesn’t reply with a content length header, the totalBytes value will be null meaning that you won’t be able to give a percentage of how much of the file has been downloaded.
Http.Get("https://jthorne.co.uk/httplib").DownloadTo(@"C:\httplib.html", onProgressChanged: (bytesCopied,totalBytes) =>;
{
if (totalBytes.HasValue)
{
("Downloaded: " + (bytesCopied/totalBytes)*100 + "%");
}
Console.Write("Downloaded: " + bytesCopied.ToString() + " bytes");
},
onSuccess: (headers) =>
{
UpdateText("Download Complete");
}).Go();
Performs a HTTP DELETE on a given URL
Http.Delete("https://jthorne.co.uk/httplib").Go();