handy-httpd 5.5.0

Extremely lightweight HTTP server for D.

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:


An extremely lightweight HTTP server for the D programming language.

Check out the full documentation here.


  • HTTP/1.1
  • Worker pool for request handling
  • Simple configuration
  • High performance (low GC usage)
  • Beginner friendly
  • Extensible with custom handlers, exception handlers, and filters
  • Well-documented
  • Ships with some handy pre-made request handlers:
    • Serve static files with the FileResolvingHandler
    • Apply filters before and after handling requests with the FilteredHandler
    • Handle complex URL paths, including path parameters and wildcards, with the PathDelegatingHandler

Simple Example

In this example, we take advantage of the Dub package manager's single-file SDL syntax to declare HandyHttpd as a dependency. For this example, we'll call this my_server.d.

#!/usr/bin/env dub
/+ dub.sdl:
	dependency "handy_httpd" version="~>5.5"
import handy_httpd;

void main() {
	new HttpServer((ref ctx) {
		if (ctx.request.url == "/hello") {
			ctx.response.writeBodyString("Hello world!");
		} else {

To start the server, just mark the script as executable, and run it:

chmod +x my_server.d

And finally, if you navigate to http://localhost:8080/hello, you should see the Hello world! text appear.

slf4d, httparsed
8.4.0 2024-Apr-16
8.3.2 2024-Feb-16
8.3.1 2024-Feb-14
8.3.0 2024-Jan-30
8.2.0 2024-Jan-27
Show all 71 versions
Download Stats:
  • 5 downloads today

  • 32 downloads this week

  • 104 downloads this month

  • 19055 downloads total

Short URL: