diff --git a/README.md b/README.md index 4972c42..7947f9d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,33 @@ -# starter +# Handy-HTTP Starter -A collection of Handy-HTTP dependencies and common boilerplate code for starting a web server in minutes. \ No newline at end of file +A collection of Handy-HTTP dependencies and common boilerplate code for starting a web server in minutes. + +Here's how you can use this: + +1. Create your new project with `dub init`. +2. Add the `handy-http-starter` dependency when prompted by Dub to add dependencies, or afterwards with `dub add handy-http-starter`. +3. Start your server using the `startServer` function, as shown in the following example: +```d +import handy_http_starter; + +void main() { + startServer((ref request, ref response) { + response.headers.add("Content-Type", "text/plain"); + response.headers.add("Content-Length", "12"); + response.outputStream.write(cast(ubyte[]) "Hello world!") + }); +} +``` + +## What's included? + +When you add `handy-http-starter` to your project, you'll be transitively +adding dependencies for all of the following components, at the highest version +matching the major version of the starter: + +- [Handy-HTTP Primitives](https://git.andrewlalis.com/Handy-Http/primitives) +for basic HTTP types and functions. +- [Handy-HTTP Transport](https://git.andrewlalis.com/Handy-Http/transport) +for the HTTP server that handles connections and all the boring stuff in +between the client and your request handler logic. +- More to come as Handy-HTTP is developed! diff --git a/dub.json b/dub.json index f01bb43..f16a693 100644 --- a/dub.json +++ b/dub.json @@ -4,8 +4,8 @@ ], "copyright": "Copyright © 2025, Andrew Lalis", "dependencies": { - "handy-http-primitives": "~>1", - "handy-http-transport": "~>1" + "handy-http-primitives": "~>1.0", + "handy-http-transport": "~>1.0" }, "description": "A collection of Handy-HTTP dependencies and common boilerplate code for starting a web server in minutes.", "license": "CC0",