Skip to content

michaelmairegger/Flurl

This branch is up to date with tmenier/Flurl:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c3b9bb8 · Jan 17, 2024
Dec 18, 2023
Jan 17, 2024
Jan 17, 2024
Dec 4, 2023
Apr 5, 2016
May 9, 2021
Dec 4, 2023
Jan 2, 2023
Dec 13, 2023
Dec 13, 2023
Dec 29, 2019

Repository files navigation

Flurl

build NuGet Version NuGet Downloads

Flurl is a modern, fluent, asynchronous, testable, portable, buzzword-laden URL builder and HTTP client library.

var result = await "https://api.mysite.com"
    .AppendPathSegment("person")
    .SetQueryParams(new { api_key = "xyz" })
    .WithOAuthBearerToken("my_oauth_token")
    .PostJsonAsync(new { first_name = firstName, last_name = lastName })
    .ReceiveJson<T>();

[Test]
public void Can_Create_Person() {
    // fake & record all http calls in the test subject
    using var httpTest = new HttpTest();

    // arrange
    httpTest.RespondWith("OK", 200);

    // act
    await sut.CreatePersonAsync("Frank", "Reynolds");
        
    // assert
    httpTest.ShouldHaveCalled("http://api.mysite.com/*")
        .WithVerb(HttpMethod.Post)
        .WithContentType("application/json");
}

Get it on NuGet:

PM> Install-Package Flurl.Http

Or get just the stand-alone URL builder without the HTTP features:

PM> Install-Package Flurl

For updates and announcements, follow @FlurlHttp on Twitter.

For detailed documentation, please visit the main site.

About

Fluent URL builder and testable HTTP for .NET

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%