awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
tmenier avatar

tmenier/Flurl

0
View on GitHub↗
4,403 stars·397 forks·C#·MIT·19 viewsflurl.dev↗

Flurl

Flurl is a .NET fluent URL builder and HTTP client wrapper designed for constructing complex web addresses and sending requests with a chainable interface. It functions as a URL manipulation library and an HTTP mocking framework to facilitate network interaction and testing.

The project distinguishes itself through a fluent interface that allows for the incremental construction of paths, query parameters, and fragments. It provides a dedicated mocking system to intercept outgoing network traffic and return predefined responses, enabling isolated unit testing without a live server.

Its broader capabilities include REST API consumption, managing request authentication via basic credentials or bearer tokens, and emulating browser behavior through session cookies and HTML form posts. The library also covers URL parsing, validation, and component encoding, alongside asynchronous request execution and JSON response deserialization.

Features

  • Fluent Interfaces - Implements a fluent interface pattern that allows for the intuitive, chainable construction of URLs and HTTP requests.
  • URL Construction - Provides a fluent, chainable interface for the incremental construction of complex URLs, paths, and query parameters.
  • HTTP Client Wrappers - Acts as a high-level wrapper around the .NET HTTP client to simplify request sending and response deserialization.
  • HTTP Request Execution - Enables the execution of asynchronous HTTP requests using standard and custom verbs with JSON deserialization.
  • .NET HTTP API Integrations - Provides a streamlined, fluent API for .NET applications to execute asynchronous web requests and handle JSON responses.
  • Asynchronous Request Execution - Performs non-blocking network requests using asynchronous patterns, supporting custom verbs and JSON payloads.
  • Fluent Request Builders - Provides a stateful request builder that accumulates configuration through method chaining before executing the request.
  • Network and API Mocking - Intercepts outgoing HTTP requests and provides canned responses to enable isolated unit testing.
  • Network Traffic Interception - Includes a dedicated mocking framework that intercepts outgoing network traffic to return predefined responses for isolated testing.
  • HTTP Mocking - Simulates HTTP server responses by intercepting outgoing traffic to isolate application logic during testing.
  • URL Manipulation Toolsets - Provides a complete toolset for parsing, validating, and merging URL segments with guaranteed correct encoding.
  • Fluent URL Builders - Offers a chainable API for constructing complex URLs with paths, query parameters, and fragments.
  • REST API Clients - Simplifies the consumption of REST APIs by managing authentication tokens, custom headers, and JSON serialization.
  • HTTP Client Configurations - Provides configuration options for the low-level HTTP pipeline, including the use of delegating handlers.
  • HTTP Request Configurations - Allows configuration of request metadata including custom headers, timeouts, and cancellation tokens.
  • Request Object Extensions - Allows developers to add custom chainable methods to request objects to standardize API call configurations.
  • Client Instance Pooling - Implements a client pooling mechanism to reuse HTTP connections and prevent socket exhaustion.
  • Extension Methods - Extensively uses .NET extension methods to add fluent functionality to existing URL and request types.
  • Custom JSON Serializers - Allows the replacement of default JSON conversion logic with custom serializers for flexible data handling.
  • Request Authentications - Supports the attachment of Basic authentication credentials and OAuth bearer tokens to outgoing requests.
  • Handler Middlewares - Provides a pipeline of handler middlewares to implement cross-cutting concerns like logging for HTTP requests.
  • HTTP Lifecycle Hooks - Executes custom logic via lifecycle hooks at various stages of the HTTP request and response process.
  • Fluent URL Extensions - Enables the addition of custom chainable methods to address types for specialized network URI construction.
  • HTTP Error Handling - Provides structured error handling that throws exceptions for 4xx and 5xx status codes.
  • Segment Combination - Ships a utility to merge multiple URL segments while ensuring correct separator character placement.
  • URL Data Parsing - Decomposes raw URL strings into structured components such as scheme, authority, path, and query.
  • URL Encoding Libraries - Handles the encoding of illegal characters in URL paths and query strings to ensure web compatibility.
  • API Development - Fluent URL builder and testable HTTP client.

Star history

Star history chart for tmenier/flurlStar history chart for tmenier/flurl

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Flurl

These projects share indexed features with Flurl. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • jnunemaker/httpartyjnunemaker avatar

    jnunemaker/httparty

    5,894View on GitHub↗

    HTTParty is a Ruby HTTP client library designed for building standardized API clients. It abstracts low-level network primitives into a high-level interface, allowing developers to encapsulate base URIs and request configurations within classes to maintain consistent interactions with remote web services. The library automates the transformation of raw network response data into native Ruby structures by using a registry-based system that parses content based on response headers. It also provides specialized mechanisms for sending multipart form data and streaming large payloads to maintain m

    Ruby
    View on GitHub↗5,894
  • axios/axiosaxios avatar

    axios/axios

    109,077View on GitHub↗

    Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different JavaScript execution environments, including the browser and Node.js. It functions as a JSON API client that serializes JavaScript objects into JSON and parses server responses into structured data. The project features a system for managing reusable client instances with shared configurations, such as base URLs and default settings. It includes a mechanism for intercepting outgoing requests and incoming responses globally, allowing data to be transformed before it reaches the

    JavaScripthacktoberfesthttp-clientjavascript
    View on GitHub↗109,077
  • elbywan/wretchelbywan avatar

    elbywan/wretch

    5,174View on GitHub↗

    Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration, response parsing, and error handling. It functions as a network request manager and middleware framework for managing the end-to-end lifecycle of HTTP calls. The project is distinguished by a fluent interface for request configuration and a modular extension system. It utilizes a programmable response resolver to automate parsing and a plugin-based architecture to add new capabilities to request and response objects. The library covers a broad range of operational capabilities,

    TypeScript
    View on GitHub↗5,174
  • yanzhenjie/nohttpyanzhenjie avatar

    yanzhenjie/NoHttp

    3,728View on GitHub↗

    NoHttp is an Android HTTP client framework that provides a simplified interface for executing synchronous and asynchronous network calls. It functions as a request wrapper with integrated support for response parsing, a network cache manager for storing data locally, and a file download manager for retrieving remote content. The framework features strategy-based backend switching, allowing it to swap between OkHttp and URLConnection implementations at runtime. It includes a byte-range resume mechanism for continuing interrupted file transfers and a multi-tier cache layer that supports encrypt

    Javahttpurlconnectionnohttpokhttp
    View on GitHub↗3,728
Compare all 30 related projects→

Frequently asked questions

What does tmenier/flurl do?

Flurl is a .NET fluent URL builder and HTTP client wrapper designed for constructing complex web addresses and sending requests with a chainable interface. It functions as a URL manipulation library and an HTTP mocking framework to facilitate network interaction and testing.

What are the main features of tmenier/flurl?

The main features of tmenier/flurl are: Fluent Interfaces, URL Construction, HTTP Client Wrappers, HTTP Request Execution, .NET HTTP API Integrations, Asynchronous Request Execution, Fluent Request Builders, Network and API Mocking.

Which projects share features with tmenier/flurl?

Projects with overlapping indexed features include: jnunemaker/httparty — HTTParty is a Ruby HTTP client library designed for building standardized API clients. It abstracts low-level network… axios/axios — Axios is an isomorphic, promise-based HTTP client designed for making asynchronous network requests across different… elbywan/wretch — Wretch is a chainable HTTP client library and Fetch API wrapper designed to simplify network request configuration,… yanzhenjie/nohttp — NoHttp is an Android HTTP client framework that provides a simplified interface for executing synchronous and… rest-client/rest-client — This is a Ruby HTTP client designed for REST API integration, resource modeling, and automated network communication.… duke-git/lancet — Lancet is a comprehensive extension of the Go standard library, providing a collection of reusable functions and data…