handy-httpd 5.6.2

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
  • 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.

  • Andrew Lalis <andrewlalisofficial@gmail.com>
slf4d, httparsed
5.6.2 2023-Mar-19
5.6.1 2023-Mar-19
5.6.0 2023-Mar-08
5.5.0 2023-Mar-04
5.4.0 2023-Feb-26
Show all 25 versions
Download Stats:
  • 56 downloads today

  • 309 downloads this week

  • 2032 downloads this month

  • 9764 downloads total

Short URL: