REST-like routing over named pipes.
Expose lightweight HTTP-style APIs from background services — without running a full HTTP server. ArgusTransfer brings the ARGUS/1.0 protocol, familiar verbs, status codes, and middleware to .NET inter-process communication on Windows, Linux, and macOS.
What is it?
HTTP for processes that don’t need a web server.
Some services need an internal API but a full HTTP server is too heavy — or simply not allowed. ArgusTransfer gives you the request/response model you already know, transmitted over named pipes in a tight, text-based protocol called ARGUS/1.0. Routing, middleware, dependency injection, streaming bodies: everything you reach for in ASP.NET, sized for background work.
RESTful routing
Typed verbs (GET, POST, PUT, PATCH, DELETE, HEAD), route templates, and parameter constraints — build endpoints the way you build controllers.
Cross-platform IPC
Native named pipes on Windows, Unix domain sockets on Linux and macOS — same code on all three. No TCP socket, no HTTP listener, no firewall surface to harden.
Familiar status codes
Standard 2xx / 4xx / 5xx semantics, automatic 404 on no match, 501 on missing verb — behavior you already reason about.
Middleware pipeline
Compose global and per-endpoint middleware for logging, authorization, correlation, or anything else your handlers shouldn’t care about.
Streaming bodies
Chunked transfer encoding for large or open-ended payloads, with a configurable cap to defend against hostile senders.
.NET 10, modern stack
Built on Microsoft.Extensions.Hosting and DI, async/await throughout, with SBOM and provenance shipped on every release.
In ten lines
A pipe that answers HTTP.
Register a module, host the pipe, and you have a routable endpoint other processes can call.
public class HelloModule : IArgusModule
{
public void AddRoutes(IArgusRouteBuilder app)
{
app.MapGet("/hello", context =>
{
context.Response = new ArgusResponse
{
StatusCode = ArgusStatusCode.Ok,
Body = "Hello from ArgusTransfer!"
};
return Task.CompletedTask;
});
}
}