Commit ddoc since we can't build it.
Build and Deploy Documentation Site / build-and-deploy (push) Successful in 24s Details

This commit is contained in:
Andrew Lalis 2026-04-01 18:47:07 -04:00
parent d0d7f5425c
commit 620bf6e3a2
362 changed files with 23740 additions and 7 deletions

View File

@ -13,11 +13,6 @@ jobs:
with:
key: ${{ secrets.DEPLOY_KEY }}
known_hosts: ${{ secrets.SSH_HOST }}
- uses: dlang-community/setup-dlang@v2
with:
compiler: ldc-latest
- name: Build DDoc
run: ./ddoc-build.sh
- uses: actions/setup-python@v6
with:
python-version: '3.12'

3
.gitignore vendored
View File

@ -4,5 +4,4 @@
site/
.cache/
# Ignore working dir for ddoc building.
.ddoc/
docs/ddoc/
.ddoc/

View File

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>handy_http_data (handy_http_data)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>handy_http_data</h1><div class="breadcrumbs"></div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"></div><h2 id="modules"><a class="header-anchor" href="#modules">Modules</a></h2><dl class="member-list native"><dt><a href="handy_http_data.json.html">json</a><div class="simplified-prototype" style="max-width: 29ch;"><span class="builtin-type">module</span> <span class="name">handy_http_data.json</span></div></dt><dd><div><p>Defines functions to read and write JSON values when handling HTTP requests.</p></div></dd><dt><a href="handy_http_data.multipart.html">multipart</a><div class="simplified-prototype" style="max-width: 35ch;"><span class="builtin-type">module</span> <span class="name">handy_http_data.multipart</span></div></dt><dd><div><p>Defines data structures and parsing methods for dealing with multipart
encoded request bodies.</p></div></dd><dt><a href="handy_http_data.xml.html">xml</a><div class="simplified-prototype" style="max-width: 28ch;"><span class="builtin-type">module</span> <span class="name">handy_http_data.xml</span></div></dt><dd><div><p>Defines functions for reading and writing XML content while handling HTTP
requests, using the dxml library: <a href="https://code.dlang.org/packages/dxml">https://code.dlang.org/packages/dxml</a></p></div></dd></dl><h2 id="public-imports"><a class="header-anchor" href="#public-imports">Public Imports</a></h2><div></div><dl class="member-list native"><dt><a href="handy_http_data.json.html">handy_http_data.json</a><div class="simplified-prototype" style="max-width: 39ch;"><span class="builtin-type">public</span> <tt class="highlighted">
<span class="kwrd">import</span> <span class="hid">handy_http_data</span>.<span class="hid">json</span>;</tt></div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><dl class="member-list native"><dt><a href="handy_http_data.multipart.html">handy_http_data.multipart</a><div class="simplified-prototype" style="max-width: 45ch;"><span class="builtin-type">public</span> <tt class="highlighted">
<span class="kwrd">import</span> <span class="hid">handy_http_data</span>.<span class="hid">multipart</span>;</tt></div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><dl class="member-list native"><dt><a href="handy_http_data.xml.html">handy_http_data.xml</a><div class="simplified-prototype" style="max-width: 38ch;"><span class="builtin-type">public</span> <tt class="highlighted">
<span class="kwrd">import</span> <span class="hid">handy_http_data</span>.<span class="hid">xml</span>;</tt></div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><div></div></div>
<div id="page-nav">
<span class="type-separator">modules</span><ul><li><a class="module current" href="handy_http_data.html">handy_http_data</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>handy_http_data.json (handy_http_data.json)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>handy_http_data.json</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> </div><div><div class="documentation-comment synopsis"><div><p>Defines functions to read and write JSON values when handling HTTP requests.</p></div></div></div><div class="annotated-prototype"></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="function"><a class="header-anchor" href="#function">Functions</a></h3><dl class="member-list native"><dt><a href="handy_http_data.json.readJsonBodyAs.html">readJsonBodyAs</a><div class="simplified-prototype" style="max-width: 47ch;"><tt class="highlighted"><span class="hid">T</span></tt> <span class="name">readJsonBodyAs</span>(ServerHttpRequest request)</div></dt><dd><div><p>Reads a JSON value from the body of the given HTTP request, parsing it using
the ASDF library according to the template type T.</p></div></dd><dt><a href="handy_http_data.json.writeJsonBody.html">writeJsonBody</a><div class="simplified-prototype" style="max-width: 68ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">writeJsonBody</span>(ServerHttpResponse response, T bodyContent)</div></dt><dd><div><p>Writes a JSON value to the body of the given HTTP response, serializing it
using the ASDF library. Will also set Content-Type and Content-Length
headers before writing.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a>
<span class="type-separator">modules</span><ul><li><a class="module current" href="handy_http_data.json.html">json</a></li><li><a class="module" href="handy_http_data.multipart.html">multipart</a></li><li><a class="module" href="handy_http_data.xml.html">xml</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>readJsonBodyAs (handy_http_data.json.readJsonBodyAs)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>readJsonBodyAs</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.json.html">json</a> </div><div><div class="documentation-comment synopsis"><div><p>Reads a JSON value from the body of the given HTTP request, parsing it using
the ASDF library according to the template type T.</p><p>Throws a BAD_REQUEST HttpStatusException if deserialization fails.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"></div><div class="return-type"><span class="name" data-ident="T">T</span></div><div class="function-name">readJsonBodyAs</div><div class="template-parameters" data-count="1">(<div class="parameters-list toplevel"><div class="template-parameter-item parameter-item"> <span><span class="name" data-ident="T">T</span></span></div></div>)</div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-request"><a class="parameter-name" data-ident="request" href="#param-request">request</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></dt><dd><div class="documentation-comment"><div><p>The request to read the JSON from.</p></div></div></dd></dl><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><span class="name" data-ident="T">T</span></span></div><div class="documentation-comment returns-description"><div><p>The value that was read.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.json.html">json</a>
<span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_data.json.readJsonBodyAs.html">readJsonBodyAs</a></li><li><a class="function" href="handy_http_data.json.writeJsonBody.html">writeJsonBody</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>writeJsonBody (handy_http_data.json.writeJsonBody)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>writeJsonBody</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.json.html">json</a> </div><div><div class="documentation-comment synopsis"><div><p>Writes a JSON value to the body of the given HTTP response, serializing it
using the ASDF library. Will also set Content-Type and Content-Length
headers before writing.</p><p>Throws an INTERNAL_SERVER_ERROR HttpStatusException if serialization or
writing fails.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"></div><div class="return-type"><span class="builtin-type">void</span></div><div class="function-name">writeJsonBody</div><div class="template-parameters" data-count="1">(<div class="parameters-list toplevel"><div class="template-parameter-item parameter-item"> <span><span class="name" data-ident="T">T</span></span></div></div>)</div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></span> <span class="parameter-name name" data-ident="response"><a href="#param-response">response</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">in</span> <span class="name" data-ident="T">T</span></span></span> <span class="parameter-name name" data-ident="bodyContent"><a href="#param-bodyContent">bodyContent</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-response"><a class="parameter-name" data-ident="response" href="#param-response">response</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></dt><dd><div class="documentation-comment"><div><p>The response to write to.</p></div></div></dd><dt id="param-bodyContent"><a class="parameter-name" data-ident="bodyContent" href="#param-bodyContent">bodyContent</a> <span class="parameter-type"><span class="name" data-ident="T">T</span></span></dt><dd><div class="documentation-comment"><div><p>The content to write.</p></div></div></dd></dl></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.json.html">json</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_data.json.readJsonBodyAs.html">readJsonBodyAs</a></li><li><a class="function current" href="handy_http_data.json.writeJsonBody.html">writeJsonBody</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MAX_ELEMENTS (handy_http_data.multipart.MAX_ELEMENTS)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>MAX_ELEMENTS</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> </div><div><div class="documentation-comment synopsis"><div><p>The maximum number of parts to read in a multipart/form-data body. This is
declared as a safety measure to avoid infinite reading of malicious or
corrupted payloads.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="attributes">const </div><span class="builtin-type">auto</span> <span class="name">MAX_ELEMENTS</span> = <tt class="highlighted"><span class="num">1024</span></tt>;</div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_data.multipart.MultipartFormatException.html">MultipartFormatException</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_data.multipart.parseMultipartFormData.html">parseMultipartFormData</a></li><li><a class="function" href="handy_http_data.multipart.readBodyAsMultipartFormData.html">readBodyAsMultipartFormData</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a></li><li><a class="struct" href="handy_http_data.multipart.MultipartFormData.html">MultipartFormData</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_data.multipart.MAX_ELEMENTS.html">MAX_ELEMENTS</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MultipartElement.content (handy_http_data.multipart.MultipartElement.content)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>MultipartElement.content</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> <a class="breadcrumb" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a> </div><div><div class="documentation-comment synopsis"><div><p>The body content of this element.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">MultipartElement</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">content</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a> <a class="parent" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a>
<span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_data.multipart.MultipartElement.content.html">content</a></li><li><a class="variable" href="handy_http_data.multipart.MultipartElement.filename.html">filename</a></li><li><a class="variable" href="handy_http_data.multipart.MultipartElement.headers.html">headers</a></li><li><a class="variable" href="handy_http_data.multipart.MultipartElement.name.html">name</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MultipartElement.filename (handy_http_data.multipart.MultipartElement.filename)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>MultipartElement.filename</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> <a class="breadcrumb" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a> </div><div><div class="documentation-comment synopsis"><div><p>The filename of this element, as declared by this part's
Content-Disposition header <tt class="inline-code">filename</tt> property. Note that this may be
null if no filename exists.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">MultipartElement</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="hid">Optional</span>!<span class="type">string</span></tt> <span class="name">filename</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a> <a class="parent" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a>
<span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_data.multipart.MultipartElement.content.html">content</a></li><li><a class="variable current" href="handy_http_data.multipart.MultipartElement.filename.html">filename</a></li><li><a class="variable" href="handy_http_data.multipart.MultipartElement.headers.html">headers</a></li><li><a class="variable" href="handy_http_data.multipart.MultipartElement.name.html">name</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MultipartElement.headers (handy_http_data.multipart.MultipartElement.headers)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>MultipartElement.headers</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> <a class="breadcrumb" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a> </div><div><div class="documentation-comment synopsis"><div><p>The headers that were present with this element.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">MultipartElement</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="type">string</span>[<span class="type">string</span>]</tt> <span class="name">headers</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a> <a class="parent" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a>
<span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_data.multipart.MultipartElement.content.html">content</a></li><li><a class="variable" href="handy_http_data.multipart.MultipartElement.filename.html">filename</a></li><li><a class="variable current" href="handy_http_data.multipart.MultipartElement.headers.html">headers</a></li><li><a class="variable" href="handy_http_data.multipart.MultipartElement.name.html">name</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MultipartElement (handy_http_data.multipart.MultipartElement)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>MultipartElement</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> </div><div><div class="documentation-comment synopsis"><div><p>A single element that's part of a multipart/form-data body.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">struct</span> MultipartElement {<div class="aggregate-member"><a href="handy_http_data.multipart.MultipartElement.name.html"><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">name</span>;</a></div><div class="aggregate-member"><a href="handy_http_data.multipart.MultipartElement.filename.html"><div class="attributes"></div><tt class="highlighted"><span class="hid">Optional</span>!<span class="type">string</span></tt> <span class="name">filename</span>;</a></div><div class="aggregate-member"><a href="handy_http_data.multipart.MultipartElement.headers.html"><div class="attributes"></div><tt class="highlighted"><span class="type">string</span>[<span class="type">string</span>]</tt> <span class="name">headers</span>;</a></div><div class="aggregate-member"><a href="handy_http_data.multipart.MultipartElement.content.html"><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">content</span>;</a></div>}</div></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="variable"><a class="header-anchor" href="#variable">Variables</a></h3><dl class="member-list native"><dt><a href="handy_http_data.multipart.MultipartElement.content.html">content</a><div class="simplified-prototype" style="max-width: 16ch;"><tt class="highlighted"><span class="type">string</span></tt> <span class="name">content</span>;</div></dt><dd><div><p>The body content of this element.</p></div></dd><dt><a href="handy_http_data.multipart.MultipartElement.filename.html">filename</a><div class="simplified-prototype" style="max-width: 27ch;"><tt class="highlighted"><span class="hid">Optional</span>!<span class="type">string</span></tt> <span class="name">filename</span>;</div></dt><dd><div><p>The filename of this element, as declared by this part's
Content-Disposition header <tt class="inline-code">filename</tt> property. Note that this may be
null if no filename exists.</p></div></dd><dt><a href="handy_http_data.multipart.MultipartElement.headers.html">headers</a><div class="simplified-prototype" style="max-width: 25ch;"><tt class="highlighted"><span class="type">string</span>[<span class="type">string</span>]</tt> <span class="name">headers</span>;</div></dt><dd><div><p>The headers that were present with this element.</p></div></dd><dt><a href="handy_http_data.multipart.MultipartElement.name.html">name</a><div class="simplified-prototype" style="max-width: 13ch;"><tt class="highlighted"><span class="type">string</span></tt> <span class="name">name</span>;</div></dt><dd><div><p>The name of this element, as declared by this part's Content-Disposition
header <tt class="inline-code">name</tt> property. There is no guarantee that this name is unique
among all elements.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_data.multipart.MultipartFormatException.html">MultipartFormatException</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_data.multipart.parseMultipartFormData.html">parseMultipartFormData</a></li><li><a class="function" href="handy_http_data.multipart.readBodyAsMultipartFormData.html">readBodyAsMultipartFormData</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct current" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a></li><li><a class="struct" href="handy_http_data.multipart.MultipartFormData.html">MultipartFormData</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_data.multipart.MAX_ELEMENTS.html">MAX_ELEMENTS</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MultipartElement.name (handy_http_data.multipart.MultipartElement.name)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>MultipartElement.name</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> <a class="breadcrumb" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a> </div><div><div class="documentation-comment synopsis"><div><p>The name of this element, as declared by this part's Content-Disposition
header <tt class="inline-code">name</tt> property. There is no guarantee that this name is unique
among all elements.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">MultipartElement</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">name</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a> <a class="parent" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a>
<span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_data.multipart.MultipartElement.content.html">content</a></li><li><a class="variable" href="handy_http_data.multipart.MultipartElement.filename.html">filename</a></li><li><a class="variable" href="handy_http_data.multipart.MultipartElement.headers.html">headers</a></li><li><a class="variable current" href="handy_http_data.multipart.MultipartElement.name.html">name</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MultipartFormData.elements (handy_http_data.multipart.MultipartFormData.elements)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>MultipartFormData.elements</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> <a class="breadcrumb" href="handy_http_data.multipart.MultipartFormData.html">MultipartFormData</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">MultipartFormData</span></div><div><div class="attributes"></div><tt class="highlighted"><a class="hid" href="handy_http_data.multipart.MultipartElement.html" title="handy_http_data.multipart.MultipartElement">MultipartElement</a>[]</tt> <span class="name">elements</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a> <a class="parent" href="handy_http_data.multipart.MultipartFormData.html">MultipartFormData</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_data.multipart.MultipartFormData.has.html">has</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_data.multipart.MultipartFormData.elements.html">elements</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MultipartFormData.has (handy_http_data.multipart.MultipartFormData.has)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>MultipartFormData.has</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> <a class="breadcrumb" href="handy_http_data.multipart.MultipartFormData.html">MultipartFormData</a> </div><div><div class="documentation-comment synopsis"><div><p>Determines if this form-data has an element with the given name. This
is case-sensitive. Note that there may be more than one element with a
given name.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">MultipartFormData</span></div><div><div class="attributes">const </div><div class="return-type"><span class="builtin-type">bool</span></div><div class="function-name">has</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">string</span></span></span> <span class="parameter-name name" data-ident="elementName"><a href="#param-elementName">elementName</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-elementName"><a class="parameter-name" data-ident="elementName" href="#param-elementName">elementName</a> <span class="parameter-type"><span class="builtin-type">string</span></span></dt><dd><div class="documentation-comment"><div><p>The name of the element to search for.</p></div></div></dd></dl><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><span class="builtin-type">bool</span></span></div><div class="documentation-comment returns-description"><div><p>True if this form-data has such an element.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a> <a class="parent" href="handy_http_data.multipart.MultipartFormData.html">MultipartFormData</a>
<span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_data.multipart.MultipartFormData.has.html">has</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_data.multipart.MultipartFormData.elements.html">elements</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MultipartFormData (handy_http_data.multipart.MultipartFormData)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>MultipartFormData</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> </div><div><div class="documentation-comment synopsis"><div><p>A multipart/form-data body containing multiple elements, and some helper
methods for those elements.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">struct</span> MultipartFormData {<div class="aggregate-member"><a href="handy_http_data.multipart.MultipartFormData.elements.html"><div class="attributes"></div><tt class="highlighted"><span class="hid">MultipartElement</span>[]</tt> <span class="name">elements</span>;</a></div><div class="aggregate-member"><a href="handy_http_data.multipart.MultipartFormData.has.html"><tt class="highlighted"><span class="type">bool</span></tt> <span class="name">has</span>(string elementName);</a></div>}</div></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="function"><a class="header-anchor" href="#function">Functions</a></h3><dl class="member-list native"><dt><a href="handy_http_data.multipart.MultipartFormData.has.html">has</a><div class="simplified-prototype" style="max-width: 30ch;"><tt class="highlighted"><span class="type">bool</span></tt> <span class="name">has</span>(string elementName)</div></dt><dd><div><p>Determines if this form-data has an element with the given name. This
is case-sensitive. Note that there may be more than one element with a
given name.</p></div></dd></dl><h3 class="member-list-header hide-from-toc" id="variable"><a class="header-anchor" href="#variable">Variables</a></h3><dl class="member-list native"><dt><a href="handy_http_data.multipart.MultipartFormData.elements.html">elements</a><div class="simplified-prototype" style="max-width: 30ch;"><tt class="highlighted"><span class="hid">MultipartElement</span>[]</tt> <span class="name">elements</span>;</div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_data.multipart.MultipartFormatException.html">MultipartFormatException</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_data.multipart.parseMultipartFormData.html">parseMultipartFormData</a></li><li><a class="function" href="handy_http_data.multipart.readBodyAsMultipartFormData.html">readBodyAsMultipartFormData</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a></li><li><a class="struct current" href="handy_http_data.multipart.MultipartFormData.html">MultipartFormData</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_data.multipart.MAX_ELEMENTS.html">MAX_ELEMENTS</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MultipartFormatException (handy_http_data.multipart.MultipartFormatException)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>MultipartFormatException</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> </div><div><div class="documentation-comment synopsis"><div><p>An exception that's thrown if parsing multipart/form-data fails due to
invalid formatting or unexpected characters. This is a sub-class of the
<tt class="inline-code">HttpStatusException</tt>, with each multipart exception being a BAD_REQUEST.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">class</span> MultipartFormatException : HttpStatusException {<div class="aggregate-member"><a href="handy_http_data.multipart.MultipartFormatException.this.html"><span class="lang-feature name">this</span>(string message);</a></div>}</div></div><h2 id="constructors"><a class="header-anchor" href="#constructors">Constructors</a></h2><dl class="member-list constructors"><dt><a href="handy_http_data.multipart.MultipartFormatException.this.html">this</a><div class="simplified-prototype" style="max-width: 22ch;"><span class="lang-feature name">this</span>(string message)</div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a>
<span class="type-separator">classes</span><ul><li><a class="class current" href="handy_http_data.multipart.MultipartFormatException.html">MultipartFormatException</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_data.multipart.parseMultipartFormData.html">parseMultipartFormData</a></li><li><a class="function" href="handy_http_data.multipart.readBodyAsMultipartFormData.html">readBodyAsMultipartFormData</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a></li><li><a class="struct" href="handy_http_data.multipart.MultipartFormData.html">MultipartFormData</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_data.multipart.MAX_ELEMENTS.html">MAX_ELEMENTS</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MultipartFormatException.this (handy_http_data.multipart.MultipartFormatException.this)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>MultipartFormatException.this</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> <a class="breadcrumb" href="handy_http_data.multipart.MultipartFormatException.html">MultipartFormatException</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">MultipartFormatException</span></div><div><div class="attributes"></div><div class="function-name">this</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">string</span></span></span> <span class="parameter-name name" data-ident="message"><a href="#param-message">message</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a> <a class="parent" href="handy_http_data.multipart.MultipartFormatException.html">MultipartFormatException</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor current" href="handy_http_data.multipart.MultipartFormatException.this.html">this</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,43 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>handy_http_data.multipart (handy_http_data.multipart)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>handy_http_data.multipart</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> </div><div><div class="documentation-comment synopsis"><div><p>Defines data structures and parsing methods for dealing with multipart
encoded request bodies.</p></div></div></div><div class="annotated-prototype"></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="class"><a class="header-anchor" href="#class">Classes</a></h3><dl class="member-list native"><dt><a href="handy_http_data.multipart.MultipartFormatException.html">MultipartFormatException</a><div class="simplified-prototype" style="max-width: 33ch;"><span class="builtin-type">class</span> <span class="name">MultipartFormatException</span></div></dt><dd><div><p>An exception that's thrown if parsing multipart/form-data fails due to
invalid formatting or unexpected characters. This is a sub-class of the
<tt class="inline-code">HttpStatusException</tt>, with each multipart exception being a BAD_REQUEST.</p></div></dd></dl><h3 class="member-list-header hide-from-toc" id="function"><a class="header-anchor" href="#function">Functions</a></h3><dl class="member-list native"><dt><a href="handy_http_data.multipart.parseMultipartFormData.html">parseMultipartFormData</a><div class="simplified-prototype" style="max-width: 80ch;"><tt class="highlighted"><span class="hid">MultipartFormData</span></tt> <span class="name">parseMultipartFormData</span>(string content, string boundary)</div></dt><dd><div><p>A simple linear parser for multipart/form-data encoded content. Reads a
series of elements separated by a given boundary. An exception is thrown
if the given content doesn't conform to standard multipart format.</p></div></dd><dt><a href="handy_http_data.multipart.readBodyAsMultipartFormData.html">readBodyAsMultipartFormData</a><div class="simplified-prototype" style="max-width: 105ch;"><tt class="highlighted"><span class="hid">MultipartFormData</span></tt> <span class="name">readBodyAsMultipartFormData</span>(ServerHttpRequest request, bool allowInfiniteRead)</div></dt><dd><div><p>Reads a request's body as multipart/form-data encoded elements.</p></div></dd></dl><h3 class="member-list-header hide-from-toc" id="struct"><a class="header-anchor" href="#struct">Structs</a></h3><dl class="member-list native"><dt><a href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a><div class="simplified-prototype" style="max-width: 25ch;"><span class="builtin-type">struct</span> <span class="name">MultipartElement</span></div></dt><dd><div><p>A single element that's part of a multipart/form-data body.</p></div></dd><dt><a href="handy_http_data.multipart.MultipartFormData.html">MultipartFormData</a><div class="simplified-prototype" style="max-width: 26ch;"><span class="builtin-type">struct</span> <span class="name">MultipartFormData</span></div></dt><dd><div><p>A multipart/form-data body containing multiple elements, and some helper
methods for those elements.</p></div></dd></dl><h3 class="member-list-header hide-from-toc" id="variable"><a class="header-anchor" href="#variable">Variables</a></h3><dl class="member-list native"><dt><a href="handy_http_data.multipart.MAX_ELEMENTS.html">MAX_ELEMENTS</a><div class="simplified-prototype" style="max-width: 19ch;"><span class="builtin-type">auto</span> <span class="name">MAX_ELEMENTS</span>;</div></dt><dd><div><p>The maximum number of parts to read in a multipart/form-data body. This is
declared as a safety measure to avoid infinite reading of malicious or
corrupted payloads.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a>
<span class="type-separator">modules</span><ul><li><a class="module" href="handy_http_data.json.html">json</a></li><li><a class="module current" href="handy_http_data.multipart.html">multipart</a></li><li><a class="module" href="handy_http_data.xml.html">xml</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>parseMultipartFormData (handy_http_data.multipart.parseMultipartFormData)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>parseMultipartFormData</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> </div><div><div class="documentation-comment synopsis"><div><p>A simple linear parser for multipart/form-data encoded content. Reads a
series of elements separated by a given boundary. An exception is thrown
if the given content doesn't conform to standard multipart format.</p><p>The main purpose of this function is to parse the multipart boundaries and
hand-off parsing of each element to <tt class="inline-code">readElement</tt>.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"></div><div class="return-type"><a class="name" data-ident="MultipartFormData" href="handy_http_data.multipart.MultipartFormData.html" title="handy_http_data.multipart.MultipartFormData">MultipartFormData</a></div><div class="function-name">parseMultipartFormData</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">string</span></span></span> <span class="parameter-name name" data-ident="content"><a href="#param-content">content</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">string</span></span></span> <span class="parameter-name name" data-ident="boundary"><a href="#param-boundary">boundary</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-content"><a class="parameter-name" data-ident="content" href="#param-content">content</a> <span class="parameter-type"><span class="builtin-type">string</span></span></dt><dd><div class="documentation-comment"><div><p>The content to parse.</p></div></div></dd><dt id="param-boundary"><a class="parameter-name" data-ident="boundary" href="#param-boundary">boundary</a> <span class="parameter-type"><span class="builtin-type">string</span></span></dt><dd><div class="documentation-comment"><div><p>The boundary between parts. This is usually present in an HTTP
request's Content-Type header.</p></div></div></dd></dl><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><a class="xref" href="handy_http_data.multipart.MultipartFormData.html" title="handy_http_data.multipart.MultipartFormData"><span class="name" data-ident="MultipartFormData">MultipartFormData</span></a></span></div><div class="documentation-comment returns-description"><div><p>The multipart/form-data content that's been parsed.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_data.multipart.MultipartFormatException.html">MultipartFormatException</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_data.multipart.parseMultipartFormData.html">parseMultipartFormData</a></li><li><a class="function" href="handy_http_data.multipart.readBodyAsMultipartFormData.html">readBodyAsMultipartFormData</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a></li><li><a class="struct" href="handy_http_data.multipart.MultipartFormData.html">MultipartFormData</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_data.multipart.MAX_ELEMENTS.html">MAX_ELEMENTS</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>readBodyAsMultipartFormData (handy_http_data.multipart.readBodyAsMultipartFormData)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>readBodyAsMultipartFormData</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.multipart.html">multipart</a> </div><div><div class="documentation-comment synopsis"><div><p>Reads a request's body as multipart/form-data encoded elements.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"></div><div class="return-type"><a class="name" data-ident="MultipartFormData" href="handy_http_data.multipart.MultipartFormData.html" title="handy_http_data.multipart.MultipartFormData">MultipartFormData</a></div><div class="function-name">readBodyAsMultipartFormData</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">bool</span></span></span> <span class="parameter-name name" data-ident="allowInfiniteRead"><a href="#param-allowInfiniteRead">allowInfiniteRead</a></span><span class="parameter-default-value">&#160;=&#160;false</span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-request"><a class="parameter-name" data-ident="request" href="#param-request">request</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></dt><dd><div class="documentation-comment"><div><p>The request to read from.</p></div></div></dd><dt id="param-allowInfiniteRead"><a class="parameter-name" data-ident="allowInfiniteRead" href="#param-allowInfiniteRead">allowInfiniteRead</a> <span class="parameter-type"><span class="builtin-type">bool</span></span></dt><dd><div class="documentation-comment"><div><p>Whether to read until no more data is available.</p></div></div></dd></dl><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><a class="xref" href="handy_http_data.multipart.MultipartFormData.html" title="handy_http_data.multipart.MultipartFormData"><span class="name" data-ident="MultipartFormData">MultipartFormData</span></a></span></div><div class="documentation-comment returns-description"><div><p>The multipart/form-data that was read.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.multipart.html">multipart</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_data.multipart.MultipartFormatException.html">MultipartFormatException</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_data.multipart.parseMultipartFormData.html">parseMultipartFormData</a></li><li><a class="function current" href="handy_http_data.multipart.readBodyAsMultipartFormData.html">readBodyAsMultipartFormData</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_data.multipart.MultipartElement.html">MultipartElement</a></li><li><a class="struct" href="handy_http_data.multipart.MultipartFormData.html">MultipartFormData</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_data.multipart.MAX_ELEMENTS.html">MAX_ELEMENTS</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>handy_http_data.xml (handy_http_data.xml)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>handy_http_data.xml</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> </div><div><div class="documentation-comment synopsis"><div><p>Defines functions for reading and writing XML content while handling HTTP
requests, using the dxml library: <a href="https://code.dlang.org/packages/dxml">https://code.dlang.org/packages/dxml</a></p></div></div></div><div class="annotated-prototype"></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="function"><a class="header-anchor" href="#function">Functions</a></h3><dl class="member-list native"><dt><a href="handy_http_data.xml.readXMLBody.html">readXMLBody</a><div class="simplified-prototype" style="max-width: 60ch;"><tt class="highlighted"><span class="hid">DOMEntity</span>!<span class="type">string</span></tt> <span class="name">readXMLBody</span>(ServerHttpRequest request)</div></dt><dd><div><p>Reads an XML request body.</p></div></dd><dt><a href="handy_http_data.xml.writeXMLBody.html">writeXMLBody</a><div class="simplified-prototype" style="max-width: 106ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">writeXMLBody</span>(ServerHttpResponse response, void delegate(ref XMLWriter!(Appender!string)) dg)</div></dt><dd><div><p>Writes an XML response body, by using the provided delegate function to
compose the XML tag tree using a provided XMLWriter.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a>
<span class="type-separator">modules</span><ul><li><a class="module" href="handy_http_data.json.html">json</a></li><li><a class="module" href="handy_http_data.multipart.html">multipart</a></li><li><a class="module current" href="handy_http_data.xml.html">xml</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>readXMLBody (handy_http_data.xml.readXMLBody)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>readXMLBody</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.xml.html">xml</a> </div><div><div class="documentation-comment synopsis"><div><p>Reads an XML request body.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"></div><div class="return-type"><span class="name" data-ident="DOMEntity">DOMEntity</span>!<span class="name" data-ident="string">string</span></div><div class="function-name">readXMLBody</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-request"><a class="parameter-name" data-ident="request" href="#param-request">request</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></dt><dd><div class="documentation-comment"><div><p>The request to read from.</p></div></div></dd></dl><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><span class="name" data-ident="DOMEntity">DOMEntity</span>!<span class="name" data-ident="string">string</span></span></div><div class="documentation-comment returns-description"><div><p>The DOMEntity representing the XML payload.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.xml.html">xml</a>
<span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_data.xml.readXMLBody.html">readXMLBody</a></li><li><a class="function" href="handy_http_data.xml.writeXMLBody.html">writeXMLBody</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>writeXMLBody (handy_http_data.xml.writeXMLBody)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>writeXMLBody</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_data.html">handy_http_data</a> <a class="breadcrumb" href="handy_http_data.xml.html">xml</a> </div><div><div class="documentation-comment synopsis"><div><p>Writes an XML response body, by using the provided delegate function to
compose the XML tag tree using a provided XMLWriter.</p><p>See <a href="https://jmdavisprog.com/docs/dxml/0.4.4/dxml_writer.html#.xmlWriter">https://jmdavisprog.com/docs/dxml/0.4.4/dxml_writer.html#.xmlWriter</a></p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"></div><div class="return-type"><span class="builtin-type">void</span></div><div class="function-name">writeXMLBody</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></span> <span class="parameter-name name" data-ident="response"><a href="#param-response">response</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">void</span> <span class="lang-feature">delegate</span><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="XMLWriter">XMLWriter</span>!(<span class="name" data-ident="Appender">Appender</span>!<span class="name" data-ident="string">string</span>)</span></span></div><span class="paren">)</span></div></span></span> <span class="parameter-name name" data-ident="dg"><a href="#param-dg">dg</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-response"><a class="parameter-name" data-ident="response" href="#param-response">response</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></dt><dd><div class="documentation-comment"><div><p>The HTTP response to write to.</p></div></div></dd><dt id="param-dg"><a class="parameter-name" data-ident="dg" href="#param-dg">dg</a> <span class="parameter-type"><span class="builtin-type">void</span> <span class="lang-feature">delegate</span><div class="parameters-list"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="XMLWriter">XMLWriter</span>!(<span class="name" data-ident="Appender">Appender</span>!<span class="name" data-ident="string">string</span>)</span></span></div><span class="paren">)</span></div></span></dt><dd><div class="documentation-comment"><div><p>The delegate function that will be called to generate the XML.</p></div></div></dd></dl></div></div>
<div id="page-nav"><a class="parent" href="handy_http_data.html">handy_http_data</a> <a class="parent" href="handy_http_data.xml.html">xml</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_data.xml.readXMLBody.html">readXMLBody</a></li><li><a class="function current" href="handy_http_data.xml.writeXMLBody.html">writeXMLBody</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

35
docs/ddoc/data/index.html Normal file
View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>index (index)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>index</h1><div class="breadcrumbs"></div><div><div class="documentation-comment synopsis"><div></div></div></div><div class="annotated-prototype"></div><h2 id="modules"><a class="header-anchor" href="#modules">Modules</a></h2><dl class="member-list native"><dt><a href="handy_http_data.html">handy_http_data</a><div class="simplified-prototype" style="max-width: 24ch;"><span class="builtin-type">module</span> <span class="name">handy_http_data</span></div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><div></div></div>
<div id="page-nav">
</div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

180
docs/ddoc/data/script.js Normal file
View File

@ -0,0 +1,180 @@
window.addEventListener("load", function() {
var lineWrappers = document.querySelectorAll(".with-line-wrappers");
for(var i = 0; i < lineWrappers.length; i++) {
var l = lineWrappers[i];
var codeblock = document.createElement("div");
codeblock.className = "codeblock";
l.parentNode.insertBefore(codeblock, l);
var header = document.createElement("header");
codeblock.appendChild(header);
codeblock.appendChild(l);
var btn = document.createElement("button");
btn.setAttribute("type", "button");
var canCopyToClipboard = document.queryCommandSupported("copy");
btn.addEventListener("click", (function(l) { return function() {
document.body.classList.add("hide-line-numbers");
window.getSelection().selectAllChildren(l);
if(canCopyToClipboard)
if(!document.execCommand("copy")) {
alert("copy failed, try ctrl+c manually");
}
};})(l));
btn.textContent = canCopyToClipboard ? "Copy to Clipboard" : "Select All";
header.appendChild(btn);
var btn = document.createElement("button");
btn.setAttribute("type", "button");
btn.addEventListener("click", function() {
document.body.classList.toggle("hide-line-numbers");
});
btn.textContent = "Toggle Line Numbers";
header.appendChild(btn);
}
/* // still sucks in firefox!
document.addEventListener("copy", function(event) {
document.body.classList.add("hide-line-numbers");
});
*/
document.body.addEventListener("mouseover", function(event) {
if(event.target.hasAttribute("data-ident")) {
var all = document.querySelectorAll("[data-ident=\""+event.target.getAttribute("data-ident")+"\"]");
for(var i = 0; i < all.length; i++)
all[i].className += " active";
}
});
document.body.addEventListener("mouseout", function(event) {
if(event.target.hasAttribute("data-ident")) {
var all = document.querySelectorAll("[data-ident=\""+event.target.getAttribute("data-ident")+"\"]");
for(var i = 0; i < all.length; i++)
all[i].className = all[i].className.replace(" active", "");
}
});
/*
document.body.addEventListener("dblclick", function(event) {
if(event.target.hasAttribute("data-ident")) {
location.href = "/" + event.target.getAttribute("data-ident");
}
});
*/
var sn = document.getElementById("source-navigation");
if(sn) {
sn.addEventListener("click", function(event) {
if(event.target.tagName != "A" || event.target.className == "docs")
return true;
if(event.target.nextSibling) {
var s = event.target.nextSibling;
if(s.style.display == "" || s.style.display == "none" || s.className.indexOf("search-hit") != -1) {
s.style.display = "block";
var items = s.getElementsByTagName("ul");
var i;
for(i = 0; i < items.length; i++)
items[i].style.display = "";
items = s.getElementsByTagName("li");
for(i = 0; i < items.length; i++)
items[i].style.display = "";
} else
s.style.display = "";
}
//var id = event.target.href.substring(event.target.href.indexOf("#") + 1);
//sn.style.marginTop = (document.getElementById(id).offsetTop - event.target.offsetTop + 16) + "px";
});
var search = document.createElement("input");
search.setAttribute("type", "search");
function searchHelper() {
var regex = new RegExp(search.value, "i");
var items = document.querySelectorAll("#source-navigation a[href^=\"#\"]");
var stxt = search.value;
for(var i = 0; i < items.length; i++) {
var a = items[i];
if(stxt.length && regex.test(a.textContent)) {
var p = a.parentNode;
while(p.tagName != "DIV") {
if(p.tagName == "LI")
p.style.display = "list-item";
else
p.style.display = "block";
p.className += " search-hit";
p = p.parentNode;
}
} else {
var p = a.parentNode;
if(stxt.length == 0) {
p.style.display = "";
while(p.tagName != "DIV") {
p.style.display = "";
p = p.parentNode;
}
} else
p.style.display = "none";
p.className = p.className.replace(" search-hit", "");
}
}
}
search.addEventListener("keyup", searchHelper);
sn.insertBefore(search, sn.firstChild);
}
/*
function updateDynamicStyle() {
var thing = document.getElementById("page-content");
var newStyle = document.getElementById("dynamic-style");
if(!newStyle) {
newStyle = document.createElement("style");
newStyle.setAttribute("id", "dynamic-style");
newStyle.type = "text/css";
document.head.appendChild(newStyle);
}
var maxContentWidth = window.innerWidth;
// 800 is the threshold for putting nav vertically
if(maxContentWidth < 800)
maxContentWidth = 800;
else
maxContentWidth =
document.body.offsetWidth -
document.getElementById("page-nav").offsetWidth -
document.getElementById("page-nav").offsetLeft -
64;
// sanity check lol
if(maxContentWidth < 800)
maxContentWidth = 800;
newStyle.innerHTML = ".member-list:not(.constructors) dt .simplified-prototype:hover { width: " + (thing.offsetWidth - 32) + "px; } #page-content pre.d_code, #page-content .overload-option, #page-content .member-list dt { max-width: " + (maxContentWidth) + "px; }";
}
updateDynamicStyle();
window.onresize = updateDynamicStyle;
*/
// Disable line numbers in IE because the copy/paste with them sucks - it includes all line numbers
// in the middle making it too hard to use. Copy/paste is more important than line displays.
if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {
var items = document.querySelectorAll(".with-line-wrappers");
for(var a = 0; a < items.length; a++)
items[a].className = items[a].className.replace("with-line-wrappers", "");
}
// Keybind to focus search bar on '?' keydown.
document.addEventListener("keydown", (event) => {
if (event.key == "?") {
var searchBox = document.getElementsByName("searchTerm")[0];
// Hack so the '?' doesn't auto-populate in the search bar.
this.setTimeout(() => {
searchBox.focus();
}, 100);
}
});
});

View File

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<script>
/*
The purpose of this file is to be a lightweight landing page for standard
forms that will redirect to the JS searcher using a #!term thing.
Since the JS searcher is a heavyweight page (it includes the search index
inline so it doesn't have to XHR, which would break on file:// urls), we
want it to be cached. Normal ?query urls would bust the cache. I don't mind
busting the cache on this little file, but we really want to avoid that on
the big index file.
Hence, the redirect hack.
*/
location.href = "search-results.html#!" + location.search.substring("?searchTerm=".length);
</script>
</head>
<body>
<noscript>
<p>The "offline" searcher requires Javascript.</p>
<p>To get search without JS, build the `locate.d` file (see the adrdox makefile) and use it as a CGI program on a regular web server, or build with -version=embedded_httpd to embed its own server and run that.</p>
<p>Then, configure the server to call that script instead of loading this file, or change your skeleton.html search form action to point to it.</p>
</noscript>
</body></html>

View File

@ -0,0 +1,421 @@
/*
This is the source for offline web search; it will be embedded
in a generated search page along with the search index xml.
You will almost certainly want to gzip this when delivering it!
Also be sure it has the proper cache headers to give a remotely
acceptable performance result. Configure the web server to do
both these. When storing it for offline usage, you might just
leave it unzipped though for convenience of use without a web server.
Tip to the end user: you might want to open this page and keep it
open in a reused tab.
The file generated should be the skeleton.html with the search
index in a <script id="search-index-container" type="text/xml">
right before this, and this file popped in a <script> right before
</body>.
It concatenates them all together so it works from file://, since
that doesn't allow XHR requests to other files so I can't just
ajax the search.xml nor does it allow pre-gzipped assets...
*/
var searchIndexString = document.getElementById("search-index-container").innerHTML;
var parser = new DOMParser();
var searchDocument = parser.parseFromString(searchIndexString, "text/xml");
// what follows is a port of the D search cgi program. Sort of. It isn't
// actually ported since I'm not quite happy with the cgi search algorithm
// yet.
function adrdox_search(searchTerm) {
if(searchTerm.length == 0)
return;
searchTerm = searchTerm.replace(/\++/g, ' ');
if(searchTerm == window.currentSearchTerm)
return;
window.currentSearchTerm = searchTerm;
location.hash = "#!" + encodeURIComponent(searchTerm);
var hitsObj = {};
var terms = searchTerm.split(" ");
for(var i = 0; i < terms.length; i++) {
var t = terms[i];
var hitschild = searchDocument.querySelectorAll("adrdox > index > term[value=\""+stemmer(t)+"\"] > result");
for(var a = 0; a < hitschild.length; a++) {
if(hitsObj[hitschild[a].getAttribute("decl")])
hitsObj[hitschild[a].getAttribute("decl")] += Number(hitschild[a].getAttribute("score"));
else
hitsObj[hitschild[a].getAttribute("decl")] = Number(hitschild[a].getAttribute("score"));
}
if(stemmer(t) != t) {
var hitschild = searchDocument.querySelectorAll("adrdox > index > term[value=\""+t+"\"] > result");
for(var a = 0; a < hitschild.length; a++) {
if(hitsObj[hitschild[a].getAttribute("decl")])
hitsObj[hitschild[a].getAttribute("decl")] += Number(hitschild[a].getAttribute("score"));
else
hitsObj[hitschild[a].getAttribute("decl")] = Number(hitschild[a].getAttribute("score"));
}
}
}
var dotTerms = searchTerm.replace(/ /g, "").split(".");
for(var i = 0; i < dotTerms.length; i++) {
var t = dotTerms[i];
var dna = declByName[t];
if(dna) {
dna.forEach(function(dn) {
if(hitsObj[dn.getAttribute("id")])
hitsObj[dn.getAttribute("id")] += 1;
else
hitsObj[dn.getAttribute("id")] = 1;
});
}
}
var hits = [];
for(name in hitsObj)
hits.push( { decl: name, score: hitsObj[name] } );
hits.sort(function(a, b) {
var s1 = Number(b.score);
var s2 = Number(a.score);
if(s1 == s2)
return a.decl < b.decl;
return s1 - s2;
});
var container = document.getElementById("page-content");
container.innerHTML = "<h2>Search Results</h2>";
var resultsElement = document.createElement("dl");
resultsElement.className = "member-list";
container.appendChild(resultsElement);
var prevFqn;
for(var a = 0; a < hits.length; a++) {
var decl = searchDocument.querySelector("adrdox > listing decl[id=\""+hits[a].decl+"\"]");
if(!decl) continue;
var dt = document.createElement("dt");
var link = document.createElement("a");
link.href = decl.querySelector("link").textContent;
var fqn = [];
var par = decl;
while(par) {
fqn.push(par.querySelector("name").textContent);
if(par.getAttribute("type") == "module")
break;
par = par.parentNode;
if(par.tagName != "decl")
break;
}
var newFqn = fqn.reverse().join(".\u200B");
if(newFqn == prevFqn)
continue;
prevFqn = newFqn;
link.textContent = newFqn;
dt.appendChild(link);
dt.className = "search-result";
dt.setAttribute("data-score", hits[a].score);
dt.setAttribute("data-decl", hits[a].decl);
resultsElement.appendChild(dt);
var dd = document.createElement("dd");
dd.innerHTML = decl.querySelector("desc").textContent;
resultsElement.appendChild(dd);
if(a > 20)
break;
}
}
window.onhashchange = function() {
adrdox_search(decodeURIComponent(location.hash.substring(2)));
};
var declByName = {};
window.onload = function() {
// index the html first ...
searchDocument.querySelectorAll("adrdox > listing decl[id] > name").forEach(function(element) {
if(!Array.isArray(declByName[element.textContent]))
declByName[element.textContent] = [];
declByName[element.textContent].push(element.parentNode);
var p = element.parentNode.parentNode;
while(p.tagName == "decl") {
var e = p.querySelector("name");
if(!Array.isArray(declByName[e.textContent]))
declByName[e.textContent] = [];
declByName[e.textContent].push(element.parentNode);
p = p.parentNode;
}
});
//foreach(element; index.querySelectorAll("adrdox > index term[value]"))
// termByValue[element.attrs.value] = element;
// populate the search from a form, if present
var searchTerm = location.search.substring("?searchTerm=".length);
if(searchTerm)
location.href = location.href.substring(0, location.href.indexOf("?"));
searchTerm = location.hash.substring(2);
adrdox_search(decodeURIComponent(searchTerm));
var search = document.getElementById("search");
if(!search)
return;
search.onsubmit = function() {
adrdox_search(search.elements["searchTerm"].value);
return false;
};
};
// Following is a copy/paste of a stemmer algorithm...it is BSD licensed.
// **************
// Reference Javascript Porter Stemmer. This code corresponds to the original
// 1980 paper available here: http://tartarus.org/martin/PorterStemmer/def.txt
// The latest version of this code is available at https://github.com/kristopolous/Porter-Stemmer
//
// Original comment:
// Porter stemmer in Javascript. Few comments, but it's easy to follow against the rules in the original
// paper, in
//
// Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14,
// no. 3, pp 130-137,
//
// see also http://www.tartarus.org/~martin/PorterStemmer
var stemmer = (function(){
var step2list = {
"ational" : "ate",
"tional" : "tion",
"enci" : "ence",
"anci" : "ance",
"izer" : "ize",
"bli" : "ble",
"alli" : "al",
"entli" : "ent",
"eli" : "e",
"ousli" : "ous",
"ization" : "ize",
"ation" : "ate",
"ator" : "ate",
"alism" : "al",
"iveness" : "ive",
"fulness" : "ful",
"ousness" : "ous",
"aliti" : "al",
"iviti" : "ive",
"biliti" : "ble",
"logi" : "log"
},
step3list = {
"icate" : "ic",
"ative" : "",
"alize" : "al",
"iciti" : "ic",
"ical" : "ic",
"ful" : "",
"ness" : ""
},
c = "[^aeiou]", // consonant
v = "[aeiouy]", // vowel
C = c + "[^aeiouy]*", // consonant sequence
V = v + "[aeiou]*", // vowel sequence
mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0
meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1
mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1
s_v = "^(" + C + ")?" + v; // vowel in stem
function dummyDebug() {}
function realDebug() {
console.log(Array.prototype.slice.call(arguments).join(' '));
}
return function (w, debug) {
var
stem,
suffix,
firstch,
re,
re2,
re3,
re4,
debugFunction,
origword = w;
if (debug) {
debugFunction = realDebug;
} else {
debugFunction = dummyDebug;
}
if (w.length < 3) { return w; }
firstch = w.substr(0,1);
if (firstch == "y") {
w = firstch.toUpperCase() + w.substr(1);
}
// Step 1a
re = /^(.+?)(ss|i)es$/;
re2 = /^(.+?)([^s])s$/;
if (re.test(w)) {
w = w.replace(re,"$1$2");
debugFunction('1a',re, w);
} else if (re2.test(w)) {
w = w.replace(re2,"$1$2");
debugFunction('1a',re2, w);
}
// Step 1b
re = /^(.+?)eed$/;
re2 = /^(.+?)(ed|ing)$/;
if (re.test(w)) {
var fp = re.exec(w);
re = new RegExp(mgr0);
if (re.test(fp[1])) {
re = /.$/;
w = w.replace(re,"");
debugFunction('1b',re, w);
}
} else if (re2.test(w)) {
var fp = re2.exec(w);
stem = fp[1];
re2 = new RegExp(s_v);
if (re2.test(stem)) {
w = stem;
debugFunction('1b', re2, w);
re2 = /(at|bl|iz)$/;
re3 = new RegExp("([^aeiouylsz])\\1$");
re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
if (re2.test(w)) {
w = w + "e";
debugFunction('1b', re2, w);
} else if (re3.test(w)) {
re = /.$/;
w = w.replace(re,"");
debugFunction('1b', re3, w);
} else if (re4.test(w)) {
w = w + "e";
debugFunction('1b', re4, w);
}
}
}
// Step 1c
re = new RegExp("^(.*" + v + ".*)y$");
if (re.test(w)) {
var fp = re.exec(w);
stem = fp[1];
w = stem + "i";
debugFunction('1c', re, w);
}
// Step 2
re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
if (re.test(w)) {
var fp = re.exec(w);
stem = fp[1];
suffix = fp[2];
re = new RegExp(mgr0);
if (re.test(stem)) {
w = stem + step2list[suffix];
debugFunction('2', re, w);
}
}
// Step 3
re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
if (re.test(w)) {
var fp = re.exec(w);
stem = fp[1];
suffix = fp[2];
re = new RegExp(mgr0);
if (re.test(stem)) {
w = stem + step3list[suffix];
debugFunction('3', re, w);
}
}
// Step 4
re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
re2 = /^(.+?)(s|t)(ion)$/;
if (re.test(w)) {
var fp = re.exec(w);
stem = fp[1];
re = new RegExp(mgr1);
if (re.test(stem)) {
w = stem;
debugFunction('4', re, w);
}
} else if (re2.test(w)) {
var fp = re2.exec(w);
stem = fp[1] + fp[2];
re2 = new RegExp(mgr1);
if (re2.test(stem)) {
w = stem;
debugFunction('4', re2, w);
}
}
// Step 5
re = /^(.+?)e$/;
if (re.test(w)) {
var fp = re.exec(w);
stem = fp[1];
re = new RegExp(mgr1);
re2 = new RegExp(meq1);
re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {
w = stem;
debugFunction('5', re, re2, re3, w);
}
}
re = /ll$/;
re2 = new RegExp(mgr1);
if (re.test(w) && re2.test(w)) {
re = /.$/;
w = w.replace(re,"");
debugFunction('5', re, re2, w);
}
// and turn initial Y back to y
if (firstch == "y") {
w = firstch.toLowerCase() + w.substr(1);
}
return w;
}
})();

View File

@ -0,0 +1,82 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Documentation</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
</div>
<div id="page-nav">
</div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
<script type="text/xml" id="search-index-container">
<adrdox>
<listing>
<decl id="1" type="module"><name>handy_http_data.json</name><desc>&lt;div&gt;&lt;p&gt;Defines functions to read and write JSON values when handling HTTP requests.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.json.html</link><decl id="2" type="function"><name>readJsonBodyAs</name><desc>&lt;div&gt;&lt;p&gt;Reads a JSON value from the body of the given HTTP request, parsing it using
the ASDF library according to the template type T.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.json.readJsonBodyAs.html</link></decl><decl id="3" type="function"><name>writeJsonBody</name><desc>&lt;div&gt;&lt;p&gt;Writes a JSON value to the body of the given HTTP response, serializing it
using the ASDF library. Will also set Content-Type and Content-Length
headers before writing.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.json.writeJsonBody.html</link></decl></decl><decl id="4" type="module"><name>handy_http_data.multipart</name><desc>&lt;div&gt;&lt;p&gt;Defines data structures and parsing methods for dealing with multipart
encoded request bodies.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.html</link><decl id="5" type="struct"><name>MultipartElement</name><desc>&lt;div&gt;&lt;p&gt;A single element that's part of a multipart/form-data body.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartElement.html</link><decl id="6" type="variable"><name>name</name><desc>&lt;div&gt;&lt;p&gt;The name of this element, as declared by this part's Content-Disposition
header &lt;tt class=&quot;inline-code&quot;&gt;name&lt;/tt&gt; property. There is no guarantee that this name is unique
among all elements.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartElement.name.html</link></decl><decl id="7" type="variable"><name>filename</name><desc>&lt;div&gt;&lt;p&gt;The filename of this element, as declared by this part's
Content-Disposition header &lt;tt class=&quot;inline-code&quot;&gt;filename&lt;/tt&gt; property. Note that this may be
null if no filename exists.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartElement.filename.html</link></decl><decl id="8" type="variable"><name>headers</name><desc>&lt;div&gt;&lt;p&gt;The headers that were present with this element.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartElement.headers.html</link></decl><decl id="9" type="variable"><name>content</name><desc>&lt;div&gt;&lt;p&gt;The body content of this element.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartElement.content.html</link></decl></decl><decl id="10" type="struct"><name>MultipartFormData</name><desc>&lt;div&gt;&lt;p&gt;A multipart/form-data body containing multiple elements, and some helper
methods for those elements.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartFormData.html</link><decl id="11" type="variable"><name>elements</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartFormData.elements.html</link></decl><decl id="12" type="function"><name>has</name><desc>&lt;div&gt;&lt;p&gt;Determines if this form-data has an element with the given name. This
is case-sensitive. Note that there may be more than one element with a
given name.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartFormData.has.html</link></decl></decl><decl id="13" type="class"><name>MultipartFormatException</name><desc>&lt;div&gt;&lt;p&gt;An exception that's thrown if parsing multipart/form-data fails due to
invalid formatting or unexpected characters. This is a sub-class of the
&lt;tt class=&quot;inline-code&quot;&gt;HttpStatusException&lt;/tt&gt;, with each multipart exception being a BAD_REQUEST.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartFormatException.html</link><decl id="14" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartFormatException.this.html</link></decl></decl><decl id="15" type="variable"><name>MAX_ELEMENTS</name><desc>&lt;div&gt;&lt;p&gt;The maximum number of parts to read in a multipart/form-data body. This is
declared as a safety measure to avoid infinite reading of malicious or
corrupted payloads.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MAX_ELEMENTS.html</link></decl><decl id="16" type="function"><name>readBodyAsMultipartFormData</name><desc>&lt;div&gt;&lt;p&gt;Reads a request's body as multipart/form-data encoded elements.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.readBodyAsMultipartFormData.html</link></decl><decl id="17" type="function"><name>parseMultipartFormData</name><desc>&lt;div&gt;&lt;p&gt;A simple linear parser for multipart/form-data encoded content. Reads a
series of elements separated by a given boundary. An exception is thrown
if the given content doesn't conform to standard multipart format.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.parseMultipartFormData.html</link></decl></decl><decl id="18" type="module"><name>handy_http_data</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_data.html</link><decl id="19" type="module"><name>handy_http_data.json</name><desc>&lt;div&gt;&lt;p&gt;Defines functions to read and write JSON values when handling HTTP requests.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.json.html</link><decl id="20" type="function"><name>readJsonBodyAs</name><desc>&lt;div&gt;&lt;p&gt;Reads a JSON value from the body of the given HTTP request, parsing it using
the ASDF library according to the template type T.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.json.readJsonBodyAs.html</link></decl><decl id="21" type="function"><name>writeJsonBody</name><desc>&lt;div&gt;&lt;p&gt;Writes a JSON value to the body of the given HTTP response, serializing it
using the ASDF library. Will also set Content-Type and Content-Length
headers before writing.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.json.writeJsonBody.html</link></decl></decl><decl id="22" type="module"><name>handy_http_data.multipart</name><desc>&lt;div&gt;&lt;p&gt;Defines data structures and parsing methods for dealing with multipart
encoded request bodies.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.html</link><decl id="23" type="struct"><name>MultipartElement</name><desc>&lt;div&gt;&lt;p&gt;A single element that's part of a multipart/form-data body.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartElement.html</link><decl id="24" type="variable"><name>name</name><desc>&lt;div&gt;&lt;p&gt;The name of this element, as declared by this part's Content-Disposition
header &lt;tt class=&quot;inline-code&quot;&gt;name&lt;/tt&gt; property. There is no guarantee that this name is unique
among all elements.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartElement.name.html</link></decl><decl id="25" type="variable"><name>filename</name><desc>&lt;div&gt;&lt;p&gt;The filename of this element, as declared by this part's
Content-Disposition header &lt;tt class=&quot;inline-code&quot;&gt;filename&lt;/tt&gt; property. Note that this may be
null if no filename exists.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartElement.filename.html</link></decl><decl id="26" type="variable"><name>headers</name><desc>&lt;div&gt;&lt;p&gt;The headers that were present with this element.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartElement.headers.html</link></decl><decl id="27" type="variable"><name>content</name><desc>&lt;div&gt;&lt;p&gt;The body content of this element.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartElement.content.html</link></decl></decl><decl id="28" type="struct"><name>MultipartFormData</name><desc>&lt;div&gt;&lt;p&gt;A multipart/form-data body containing multiple elements, and some helper
methods for those elements.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartFormData.html</link><decl id="29" type="variable"><name>elements</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartFormData.elements.html</link></decl><decl id="30" type="function"><name>has</name><desc>&lt;div&gt;&lt;p&gt;Determines if this form-data has an element with the given name. This
is case-sensitive. Note that there may be more than one element with a
given name.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartFormData.has.html</link></decl></decl><decl id="31" type="class"><name>MultipartFormatException</name><desc>&lt;div&gt;&lt;p&gt;An exception that's thrown if parsing multipart/form-data fails due to
invalid formatting or unexpected characters. This is a sub-class of the
&lt;tt class=&quot;inline-code&quot;&gt;HttpStatusException&lt;/tt&gt;, with each multipart exception being a BAD_REQUEST.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartFormatException.html</link><decl id="32" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MultipartFormatException.this.html</link></decl></decl><decl id="33" type="variable"><name>MAX_ELEMENTS</name><desc>&lt;div&gt;&lt;p&gt;The maximum number of parts to read in a multipart/form-data body. This is
declared as a safety measure to avoid infinite reading of malicious or
corrupted payloads.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.MAX_ELEMENTS.html</link></decl><decl id="34" type="function"><name>readBodyAsMultipartFormData</name><desc>&lt;div&gt;&lt;p&gt;Reads a request's body as multipart/form-data encoded elements.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.readBodyAsMultipartFormData.html</link></decl><decl id="35" type="function"><name>parseMultipartFormData</name><desc>&lt;div&gt;&lt;p&gt;A simple linear parser for multipart/form-data encoded content. Reads a
series of elements separated by a given boundary. An exception is thrown
if the given content doesn't conform to standard multipart format.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.multipart.parseMultipartFormData.html</link></decl></decl><decl id="36" type="module"><name>handy_http_data.xml</name><desc>&lt;div&gt;&lt;p&gt;Defines functions for reading and writing XML content while handling HTTP
requests, using the dxml library: &lt;a href=&quot;https://code.dlang.org/packages/dxml&quot;&gt;https://code.dlang.org/packages/dxml&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.xml.html</link><decl id="37" type="function"><name>readXMLBody</name><desc>&lt;div&gt;&lt;p&gt;Reads an XML request body.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.xml.readXMLBody.html</link></decl><decl id="38" type="function"><name>writeXMLBody</name><desc>&lt;div&gt;&lt;p&gt;Writes an XML response body, by using the provided delegate function to
compose the XML tag tree using a provided XMLWriter.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.xml.writeXMLBody.html</link></decl></decl></decl><decl id="39" type="module"><name>handy_http_data.xml</name><desc>&lt;div&gt;&lt;p&gt;Defines functions for reading and writing XML content while handling HTTP
requests, using the dxml library: &lt;a href=&quot;https://code.dlang.org/packages/dxml&quot;&gt;https://code.dlang.org/packages/dxml&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.xml.html</link><decl id="40" type="function"><name>readXMLBody</name><desc>&lt;div&gt;&lt;p&gt;Reads an XML request body.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.xml.readXMLBody.html</link></decl><decl id="41" type="function"><name>writeXMLBody</name><desc>&lt;div&gt;&lt;p&gt;Writes an XML response body, by using the provided delegate function to
compose the XML tag tree using a provided XMLWriter.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_data.xml.writeXMLBody.html</link></decl></decl></listing>
<index>
</index>
</adrdox>
</script>
<script src="search-docs.js"></script>
</body></html>

1661
docs/ddoc/data/style.css Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>BaseHandlerRequestFilter.doFilter (handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.doFilter)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>BaseHandlerRequestFilter.doFilter</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.html">BaseHandlerRequestFilter</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">BaseHandlerRequestFilter</span></div><div><div class="attributes"></div><div class="return-type"><span class="builtin-type">void</span></div><div class="function-name">doFilter</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="3"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></span> <span class="parameter-name name" data-ident="response"><a href="#param-response">response</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><a class="name" data-ident="FilterChain" href="handy_http_handlers.filtered_handler.FilterChain.html" title="handy_http_handlers.filtered_handler.FilterChain">FilterChain</a></span></span> <span class="parameter-name name" data-ident="filterChain"><a href="#param-filterChain">filterChain</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="parent" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.html">BaseHandlerRequestFilter</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.doFilter.html">doFilter</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>BaseHandlerRequestFilter (handy_http_handlers.filtered_handler.BaseHandlerRequestFilter)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>BaseHandlerRequestFilter</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>A simple base filter that should always sit at the bottom of the filter
chain, which just calls a request handler.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">class</span> BaseHandlerRequestFilter : <a class="xref parent-class" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html">HttpRequestFilter</a> {<div class="aggregate-member"><a href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.this.html"><span class="lang-feature name">this</span>(HttpRequestHandler handler);</a></div><div class="aggregate-member"><a href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.doFilter.html"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">doFilter</span>(ServerHttpRequest request, ServerHttpResponse response, FilterChain filterChain);</a></div>}</div></div><h2 id="constructors"><a class="header-anchor" href="#constructors">Constructors</a></h2><dl class="member-list constructors"><dt><a href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.this.html">this</a><div class="simplified-prototype" style="max-width: 35ch;"><span class="lang-feature name">this</span>(HttpRequestHandler handler)</div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="function"><a class="header-anchor" href="#function">Functions</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.doFilter.html">doFilter</a><div class="simplified-prototype" style="max-width: 103ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">doFilter</span>(ServerHttpRequest request, ServerHttpResponse response, FilterChain filterChain)</div></dt><dd><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></dd></dl><h2 id="inherited-members"><a class="header-anchor" href="#inherited-members">Inherited Members</a></h2><h3 id="inherited-from-handy_http_handlers.filtered_handler.HttpRequestFilter"><a class="header-anchor" href="#inherited-from-handy_http_handlers.filtered_handler.HttpRequestFilter">From HttpRequestFilter</a></h3><dl class="member-list inherited"><dt><a href="handy_http_handlers.filtered_handler.HttpRequestFilter.doFilter.html">doFilter</a><div class="simplified-prototype" style="max-width: 103ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">doFilter</span>(ServerHttpRequest request, ServerHttpResponse response, FilterChain filterChain)</div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class current" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.html">BaseHandlerRequestFilter</a></li><li><a class="class" href="handy_http_handlers.filtered_handler.FilterChain.html">FilterChain</a></li><li><a class="class" href="handy_http_handlers.filtered_handler.FilteredHandler.html">FilteredHandler</a></li></ul><span class="type-separator">interfaces</span><ul><li><a class="interface" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html">HttpRequestFilter</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>BaseHandlerRequestFilter.this (handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.this)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>BaseHandlerRequestFilter.this</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.html">BaseHandlerRequestFilter</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">BaseHandlerRequestFilter</span></div><div><div class="attributes"></div><div class="function-name">this</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpRequestHandler">HttpRequestHandler</span></span></span> <span class="parameter-name name" data-ident="handler"><a href="#param-handler">handler</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="parent" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.html">BaseHandlerRequestFilter</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor current" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.doFilter.html">doFilter</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>FilterChain.build (handy_http_handlers.filtered_handler.FilterChain.build)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>FilterChain.build</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.FilterChain.html">FilterChain</a> </div><div><div class="documentation-comment synopsis"><div><p>Builds a filter chain from a list of request filters.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">FilterChain</span></div><div><div class="attributes">static </div><div class="return-type"><a class="name" data-ident="FilterChain" href="handy_http_handlers.filtered_handler.FilterChain.html" title="handy_http_handlers.filtered_handler.FilterChain">FilterChain</a></div><div class="function-name">build</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><a class="name" data-ident="HttpRequestFilter" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html" title="handy_http_handlers.filtered_handler.HttpRequestFilter">HttpRequestFilter</a>[]</span></span> <span class="parameter-name name" data-ident="filters"><a href="#param-filters">filters</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-filters"><a class="parameter-name" data-ident="filters" href="#param-filters">filters</a> <span class="parameter-type"><a class="xref" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html" title="handy_http_handlers.filtered_handler.HttpRequestFilter"><span class="name" data-ident="HttpRequestFilter">HttpRequestFilter</span></a>[]</span></dt><dd><div class="documentation-comment"><div><p>The filters to use to build the filter chain.</p></div></div></dd></dl><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><a class="xref" href="handy_http_handlers.filtered_handler.FilterChain.html" title="handy_http_handlers.filtered_handler.FilterChain"><span class="name" data-ident="FilterChain">FilterChain</span></a></span></div><div class="documentation-comment returns-description"><div><p>The root of the filter chain that when called, executes for
each of the filters provided.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="parent" href="handy_http_handlers.filtered_handler.FilterChain.html">FilterChain</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.filtered_handler.FilterChain.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.filtered_handler.FilterChain.doFilter.html">doFilter</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function current" href="handy_http_handlers.filtered_handler.FilterChain.build.html">build</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>FilterChain.doFilter (handy_http_handlers.filtered_handler.FilterChain.doFilter)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>FilterChain.doFilter</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.FilterChain.html">FilterChain</a> </div><div><div class="documentation-comment synopsis"><div><p>Applies this filter chain link's filter to the given request and
response, and then if there's another link in the chain, calls it to
apply its filter thereafter, and so on until the chain is complete or
a filter has short-circuited without calling <tt class="inline-code">filterChain.doFilter</tt>.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">FilterChain</span></div><div><div class="attributes"></div><div class="return-type"><span class="builtin-type">void</span></div><div class="function-name">doFilter</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></span> <span class="parameter-name name" data-ident="response"><a href="#param-response">response</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-request"><a class="parameter-name" data-ident="request" href="#param-request">request</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></dt><dd><div class="documentation-comment"><div><p>The request.</p></div></div></dd><dt id="param-response"><a class="parameter-name" data-ident="response" href="#param-response">response</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></dt><dd><div class="documentation-comment"><div><p>The response.</p></div></div></dd></dl></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="parent" href="handy_http_handlers.filtered_handler.FilterChain.html">FilterChain</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.filtered_handler.FilterChain.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_handlers.filtered_handler.FilterChain.doFilter.html">doFilter</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function" href="handy_http_handlers.filtered_handler.FilterChain.build.html">build</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>FilterChain (handy_http_handlers.filtered_handler.FilterChain)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>FilterChain</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>A filter chain is a singly-linked list that represents a series of filters
to be applied when processing a request.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">class</span> FilterChain {<div class="aggregate-member"><a href="handy_http_handlers.filtered_handler.FilterChain.this.html"><span class="lang-feature name">this</span>(HttpRequestFilter filter, FilterChain next);</a></div><div class="aggregate-member"><a href="handy_http_handlers.filtered_handler.FilterChain.doFilter.html"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">doFilter</span>(ServerHttpRequest request, ServerHttpResponse response);</a></div><div class="aggregate-member"><a href="handy_http_handlers.filtered_handler.FilterChain.build.html"><span class="storage-class">static</span> <tt class="highlighted"><span class="hid">FilterChain</span></tt> <span class="name">build</span>(HttpRequestFilter[] filters);</a></div>}</div></div><h2 id="constructors"><a class="header-anchor" href="#constructors">Constructors</a></h2><dl class="member-list constructors"><dt><a href="handy_http_handlers.filtered_handler.FilterChain.this.html">this</a><div class="simplified-prototype" style="max-width: 52ch;"><span class="lang-feature name">this</span>(HttpRequestFilter filter, FilterChain next)</div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="function"><a class="header-anchor" href="#function">Functions</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.filtered_handler.FilterChain.doFilter.html">doFilter</a><div class="simplified-prototype" style="max-width: 75ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">doFilter</span>(ServerHttpRequest request, ServerHttpResponse response)</div></dt><dd><div><p>Applies this filter chain link's filter to the given request and
response, and then if there's another link in the chain, calls it to
apply its filter thereafter, and so on until the chain is complete or
a filter has short-circuited without calling <tt class="inline-code">filterChain.doFilter</tt>.</p></div></dd></dl><h3 class="member-list-header hide-from-toc" id="static function"><a class="header-anchor" href="#static function">Static functions</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.filtered_handler.FilterChain.build.html">build</a><div class="simplified-prototype" style="max-width: 50ch;"><tt class="highlighted"><span class="hid">FilterChain</span></tt> <span class="name">build</span>(HttpRequestFilter[] filters)</div></dt><dd><div><p>Builds a filter chain from a list of request filters.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.html">BaseHandlerRequestFilter</a></li><li><a class="class current" href="handy_http_handlers.filtered_handler.FilterChain.html">FilterChain</a></li><li><a class="class" href="handy_http_handlers.filtered_handler.FilteredHandler.html">FilteredHandler</a></li></ul><span class="type-separator">interfaces</span><ul><li><a class="interface" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html">HttpRequestFilter</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>FilterChain.this (handy_http_handlers.filtered_handler.FilterChain.this)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>FilterChain.this</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.FilterChain.html">FilterChain</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">FilterChain</span></div><div><div class="attributes"></div><div class="function-name">this</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><a class="name" data-ident="HttpRequestFilter" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html" title="handy_http_handlers.filtered_handler.HttpRequestFilter">HttpRequestFilter</a></span></span> <span class="parameter-name name" data-ident="filter"><a href="#param-filter">filter</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><a class="name" data-ident="FilterChain" href="handy_http_handlers.filtered_handler.FilterChain.html" title="handy_http_handlers.filtered_handler.FilterChain">FilterChain</a></span></span> <span class="parameter-name name" data-ident="next"><a href="#param-next">next</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="parent" href="handy_http_handlers.filtered_handler.FilterChain.html">FilterChain</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor current" href="handy_http_handlers.filtered_handler.FilterChain.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.filtered_handler.FilterChain.doFilter.html">doFilter</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function" href="handy_http_handlers.filtered_handler.FilterChain.build.html">build</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>FilteredHandler.handle (handy_http_handlers.filtered_handler.FilteredHandler.handle)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>FilteredHandler.handle</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.FilteredHandler.html">FilteredHandler</a> </div><div><div class="documentation-comment synopsis"><div><p>Handles an incoming request by simply calling the filter chain on it.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">FilteredHandler</span></div><div><div class="attributes"></div><div class="return-type"><span class="builtin-type">void</span></div><div class="function-name">handle</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></span> <span class="parameter-name name" data-ident="response"><a href="#param-response">response</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-request"><a class="parameter-name" data-ident="request" href="#param-request">request</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></dt><dd><div class="documentation-comment"><div><p>The request.</p></div></div></dd><dt id="param-response"><a class="parameter-name" data-ident="response" href="#param-response">response</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></dt><dd><div class="documentation-comment"><div><p>The response.</p></div></div></dd></dl></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="parent" href="handy_http_handlers.filtered_handler.FilteredHandler.html">FilteredHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.filtered_handler.FilteredHandler.this.1.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_handlers.filtered_handler.FilteredHandler.handle.html">handle</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>FilteredHandler (handy_http_handlers.filtered_handler.FilteredHandler)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>FilteredHandler</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>The FilteredHandler is a request handler you can add to your server to apply
a filter chain to an underlying request handler.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">class</span> FilteredHandler : HttpRequestHandler {<div class="aggregate-member"><a href="handy_http_handlers.filtered_handler.FilteredHandler.this.1.html"><span class="lang-feature name">this</span>(FilterChain filterChain);</a></div><div class="aggregate-member"><a href="handy_http_handlers.filtered_handler.FilteredHandler.this.2.html"><span class="lang-feature name">this</span>(HttpRequestFilter[] filters, HttpRequestHandler baseHandler);</a></div><div class="aggregate-member"><a href="handy_http_handlers.filtered_handler.FilteredHandler.handle.html"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">handle</span>(ServerHttpRequest request, ServerHttpResponse response);</a></div>}</div></div><h2 id="constructors"><a class="header-anchor" href="#constructors">Constructors</a></h2><dl class="member-list constructors"><dt><a href="handy_http_handlers.filtered_handler.FilteredHandler.this.1.html">this</a><div class="simplified-prototype" style="max-width: 31ch;"><span class="lang-feature name">this</span>(FilterChain filterChain)</div></dt><dd><div><p>Constructs a filtered handler that applies the given filter chain. Note
that you should probabconstly use the other constructor for most cases, but
if you really want to provide a custom filter chain, you'll most likely
want to add the <tt class="inline-code">BaseHandlerRequestFilter</tt> as the last one in the chain.</p></div></dd><dt><a href="handy_http_handlers.filtered_handler.FilteredHandler.this.2.html">this</a><div class="simplified-prototype" style="max-width: 71ch;"><span class="lang-feature name">this</span>(HttpRequestFilter[] filters, HttpRequestHandler baseHandler)</div></dt><dd><div><p>Constructs a filtered handler that applies the given set of filters, in
order, before potentially calling the given base handler.</p></div></dd></dl><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="function"><a class="header-anchor" href="#function">Functions</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.filtered_handler.FilteredHandler.handle.html">handle</a><div class="simplified-prototype" style="max-width: 73ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">handle</span>(ServerHttpRequest request, ServerHttpResponse response)</div></dt><dd><div><p>Handles an incoming request by simply calling the filter chain on it.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.html">BaseHandlerRequestFilter</a></li><li><a class="class" href="handy_http_handlers.filtered_handler.FilterChain.html">FilterChain</a></li><li><a class="class current" href="handy_http_handlers.filtered_handler.FilteredHandler.html">FilteredHandler</a></li></ul><span class="type-separator">interfaces</span><ul><li><a class="interface" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html">HttpRequestFilter</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>FilteredHandler.this (handy_http_handlers.filtered_handler.FilteredHandler.this)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>FilteredHandler.this</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.FilteredHandler.html">FilteredHandler</a> </div><div><div class="documentation-comment synopsis"><div><p>Constructs a filtered handler that applies the given filter chain. Note
that you should probabconstly use the other constructor for most cases, but
if you really want to provide a custom filter chain, you'll most likely
want to add the <tt class="inline-code">BaseHandlerRequestFilter</tt> as the last one in the chain.</p></div></div></div><div class="annotated-prototype"><ol class="overloads"><li class="active-overload-option"><span class="overload-signature"><span class="lang-feature name">this</span>(FilterChain filterChain)</span><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">FilteredHandler</span></div><div><div class="attributes"></div><div class="function-name">this</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><a class="name" data-ident="FilterChain" href="handy_http_handlers.filtered_handler.FilterChain.html" title="handy_http_handlers.filtered_handler.FilterChain">FilterChain</a></span></span> <span class="parameter-name name" data-ident="filterChain"><a href="#param-filterChain">filterChain</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></li><li class="overload-option"><a href="handy_http_handlers.filtered_handler.FilteredHandler.this.2.html"><span class="overload-signature"><span class="lang-feature name">this</span>(HttpRequestFilter[] filters, HttpRequestHandler baseHandler)</span></a></li></ol></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-filterChain"><a class="parameter-name" data-ident="filterChain" href="#param-filterChain">filterChain</a> <span class="parameter-type"><a class="xref" href="handy_http_handlers.filtered_handler.FilterChain.html" title="handy_http_handlers.filtered_handler.FilterChain"><span class="name" data-ident="FilterChain">FilterChain</span></a></span></dt><dd><div class="documentation-comment"><div><p>The filter chain to use.</p></div></div></dd></dl></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="parent" href="handy_http_handlers.filtered_handler.FilteredHandler.html">FilteredHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor current" href="handy_http_handlers.filtered_handler.FilteredHandler.this.1.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.filtered_handler.FilteredHandler.handle.html">handle</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>FilteredHandler.this (handy_http_handlers.filtered_handler.FilteredHandler.this)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>FilteredHandler.this</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.FilteredHandler.html">FilteredHandler</a> </div><div><div class="documentation-comment synopsis"><div><p>Constructs a filtered handler that applies the given set of filters, in
order, before potentially calling the given base handler.</p></div></div></div><div class="annotated-prototype"><ol class="overloads"><li class="overload-option"><a href="handy_http_handlers.filtered_handler.FilteredHandler.this.1.html"><span class="overload-signature"><span class="lang-feature name">this</span>(FilterChain filterChain)</span></a></li><li class="active-overload-option"><span class="overload-signature"><span class="lang-feature name">this</span>(HttpRequestFilter[] filters, HttpRequestHandler baseHandler)</span><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">FilteredHandler</span></div><div><div class="attributes"></div><div class="function-name">this</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><a class="name" data-ident="HttpRequestFilter" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html" title="handy_http_handlers.filtered_handler.HttpRequestFilter">HttpRequestFilter</a>[]</span></span> <span class="parameter-name name" data-ident="filters"><a href="#param-filters">filters</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpRequestHandler">HttpRequestHandler</span></span></span> <span class="parameter-name name" data-ident="baseHandler"><a href="#param-baseHandler">baseHandler</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></li></ol></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-filters"><a class="parameter-name" data-ident="filters" href="#param-filters">filters</a> <span class="parameter-type"><a class="xref" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html" title="handy_http_handlers.filtered_handler.HttpRequestFilter"><span class="name" data-ident="HttpRequestFilter">HttpRequestFilter</span></a>[]</span></dt><dd><div class="documentation-comment"><div><p>The set of filters to apply to all requests.</p></div></div></dd><dt id="param-baseHandler"><a class="parameter-name" data-ident="baseHandler" href="#param-baseHandler">baseHandler</a> <span class="parameter-type"><span class="name" data-ident="HttpRequestHandler">HttpRequestHandler</span></span></dt><dd><div class="documentation-comment"><div><p>The base handler that'll be called if an incoming
request is passed successfully through all filters.</p></div></div></dd></dl></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="parent" href="handy_http_handlers.filtered_handler.FilteredHandler.html">FilteredHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor current" href="handy_http_handlers.filtered_handler.FilteredHandler.this.1.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.filtered_handler.FilteredHandler.handle.html">handle</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1 @@
<html class="overload-redirect"><script>location.href = 'handy_http_handlers.filtered_handler.FilteredHandler.this.2.html';</script> <a href="handy_http_handlers.filtered_handler.FilteredHandler.this.2.html">Continue to overload</a></html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>HttpRequestFilter.doFilter (handy_http_handlers.filtered_handler.HttpRequestFilter.doFilter)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>HttpRequestFilter.doFilter</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html">HttpRequestFilter</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">interface</span> <span class="name">HttpRequestFilter</span></div><div><div class="attributes"></div><div class="return-type"><span class="builtin-type">void</span></div><div class="function-name">doFilter</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="3"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></span> <span class="parameter-name name" data-ident="response"><a href="#param-response">response</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><a class="name" data-ident="FilterChain" href="handy_http_handlers.filtered_handler.FilterChain.html" title="handy_http_handlers.filtered_handler.FilterChain">FilterChain</a></span></span> <span class="parameter-name name" data-ident="filterChain"><a href="#param-filterChain">filterChain</a></span></div><span class="paren">)</span></div></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> <a class="parent" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html">HttpRequestFilter</a>
<span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_handlers.filtered_handler.HttpRequestFilter.doFilter.html">doFilter</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>HttpRequestFilter (handy_http_handlers.filtered_handler.HttpRequestFilter)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>HttpRequestFilter</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.filtered_handler.html">filtered_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>A filter that can be applied to an HTTP request. If the filter determines
that it's okay to continue processing the request, it should call
<tt class="inline-code">filterChain.doFilter(request, response)</tt> to continue the chain. If the
chain is not continued, request processing ends at this filter, and the
current response is sent back to the client.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">interface</span> HttpRequestFilter {<div class="aggregate-member"><a href="handy_http_handlers.filtered_handler.HttpRequestFilter.doFilter.html"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">doFilter</span>(ServerHttpRequest request, ServerHttpResponse response, FilterChain filterChain);</a></div>}</div></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="function"><a class="header-anchor" href="#function">Functions</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.filtered_handler.HttpRequestFilter.doFilter.html">doFilter</a><div class="simplified-prototype" style="max-width: 103ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">doFilter</span>(ServerHttpRequest request, ServerHttpResponse response, FilterChain filterChain)</div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.filtered_handler.html">filtered_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.html">BaseHandlerRequestFilter</a></li><li><a class="class" href="handy_http_handlers.filtered_handler.FilterChain.html">FilterChain</a></li><li><a class="class" href="handy_http_handlers.filtered_handler.FilteredHandler.html">FilteredHandler</a></li></ul><span class="type-separator">interfaces</span><ul><li><a class="interface current" href="handy_http_handlers.filtered_handler.HttpRequestFilter.html">HttpRequestFilter</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,44 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>handy_http_handlers.filtered_handler (handy_http_handlers.filtered_handler)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>handy_http_handlers.filtered_handler</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> </div><div><div class="documentation-comment synopsis"><div><p>Defines a &quot;filtered&quot; request handler, that applies an ordered set of filters
(otherwise known as a &quot;filter chain&quot;) before and after handling a request,
as a means of adding a simple middleware layer to HTTP request processing.</p></div></div></div><div class="annotated-prototype"></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="class"><a class="header-anchor" href="#class">Classes</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.html">BaseHandlerRequestFilter</a><div class="simplified-prototype" style="max-width: 33ch;"><span class="builtin-type">class</span> <span class="name">BaseHandlerRequestFilter</span></div></dt><dd><div><p>A simple base filter that should always sit at the bottom of the filter
chain, which just calls a request handler.</p></div></dd><dt><a href="handy_http_handlers.filtered_handler.FilterChain.html">FilterChain</a><div class="simplified-prototype" style="max-width: 18ch;"><span class="builtin-type">class</span> <span class="name">FilterChain</span></div></dt><dd><div><p>A filter chain is a singly-linked list that represents a series of filters
to be applied when processing a request.</p></div></dd><dt><a href="handy_http_handlers.filtered_handler.FilteredHandler.html">FilteredHandler</a><div class="simplified-prototype" style="max-width: 23ch;"><span class="builtin-type">class</span> <span class="name">FilteredHandler</span></div></dt><dd><div><p>The FilteredHandler is a request handler you can add to your server to apply
a filter chain to an underlying request handler.</p></div></dd></dl><h3 class="member-list-header hide-from-toc" id="interface"><a class="header-anchor" href="#interface">Interfaces</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.filtered_handler.HttpRequestFilter.html">HttpRequestFilter</a><div class="simplified-prototype" style="max-width: 29ch;"><span class="builtin-type">interface</span> <span class="name">HttpRequestFilter</span></div></dt><dd><div><p>A filter that can be applied to an HTTP request. If the filter determines
that it's okay to continue processing the request, it should call
<tt class="inline-code">filterChain.doFilter(request, response)</tt> to continue the chain. If the
chain is not continued, request processing ends at this filter, and the
current response is sent back to the client.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a>
<span class="type-separator">modules</span><ul><li><a class="module current" href="handy_http_handlers.filtered_handler.html">filtered_handler</a></li><li><a class="module" href="handy_http_handlers.path_handler.html">path_handler</a></li><li><a class="module" href="handy_http_handlers.path_handler_sample_module.html">path_handler_sample_module</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>handy_http_handlers (handy_http_handlers)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>handy_http_handlers</h1><div class="breadcrumbs"></div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"></div><h2 id="modules"><a class="header-anchor" href="#modules">Modules</a></h2><dl class="member-list native"><dt><a href="handy_http_handlers.filtered_handler.html">filtered_handler</a><div class="simplified-prototype" style="max-width: 47ch;"><span class="builtin-type">module</span> <span class="name">handy_http_handlers.filtered_handler</span></div></dt><dd><div><p>Defines a &quot;filtered&quot; request handler, that applies an ordered set of filters
(otherwise known as a &quot;filter chain&quot;) before and after handling a request,
as a means of adding a simple middleware layer to HTTP request processing.</p></div></dd><dt><a href="handy_http_handlers.path_handler.html">path_handler</a><div class="simplified-prototype" style="max-width: 42ch;"><span class="builtin-type">module</span> <span class="name">handy_http_handlers.path_handler</span></div></dt><dd><div><p>Defines a path-matching request handler, that will match incoming requests
against a set of mappings based on the URL and HTTP method, and call a
handler depending on what's matched.</p></div></dd><dt><a href="handy_http_handlers.path_handler_sample_module.html">path_handler_sample_module</a><div class="simplified-prototype" style="max-width: 58ch;"><span class="builtin-type">module</span> <span class="name">handy_http_handlers.path_handler_sample_module</span></div></dt><dd><div><p>This module defines some path mapping functions to help test the path
handler's function for registering annotated functions.</p></div></dd></dl><div></div></div>
<div id="page-nav">
<span class="type-separator">modules</span><ul><li><a class="module current" href="handy_http_handlers.html">handy_http_handlers</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>DeleteMapping (handy_http_handlers.path_handler.DeleteMapping)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>DeleteMapping</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>A simplified version of <tt class="inline-code">PathMapping</tt> for HTTP DELETE mappings only.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">struct</span> DeleteMapping {<div class="aggregate-member"><a href="handy_http_handlers.path_handler.DeleteMapping.pattern.html"><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</a></div>}</div></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="variable"><a class="header-anchor" href="#variable">Variables</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler.DeleteMapping.pattern.html">pattern</a><div class="simplified-prototype" style="max-width: 16ch;"><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></dt><dd><div><p>See <tt class="inline-code">PathMapping.pattern</tt>.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct current" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>DeleteMapping.pattern (handy_http_handlers.path_handler.DeleteMapping.pattern)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>DeleteMapping.pattern</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a> </div><div><div class="documentation-comment synopsis"><div><p>See <tt class="inline-code">PathMapping.pattern</tt>.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">DeleteMapping</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a>
<span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_handlers.path_handler.DeleteMapping.pattern.html">pattern</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>GetMapping (handy_http_handlers.path_handler.GetMapping)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>GetMapping</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>A simplified version of <tt class="inline-code">PathMapping</tt> for HTTP GET mappings only.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">struct</span> GetMapping {<div class="aggregate-member"><a href="handy_http_handlers.path_handler.GetMapping.pattern.html"><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</a></div>}</div></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="variable"><a class="header-anchor" href="#variable">Variables</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler.GetMapping.pattern.html">pattern</a><div class="simplified-prototype" style="max-width: 16ch;"><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></dt><dd><div><p>See <tt class="inline-code">PathMapping.pattern</tt>.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct current" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>GetMapping.pattern (handy_http_handlers.path_handler.GetMapping.pattern)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>GetMapping.pattern</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a> </div><div><div class="documentation-comment synopsis"><div><p>See <tt class="inline-code">PathMapping.pattern</tt>.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">GetMapping</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a>
<span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_handlers.path_handler.GetMapping.pattern.html">pattern</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PatchMapping (handy_http_handlers.path_handler.PatchMapping)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PatchMapping</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>A simplified version of <tt class="inline-code">PathMapping</tt> for HTTP PATCH mappings only.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">struct</span> PatchMapping {<div class="aggregate-member"><a href="handy_http_handlers.path_handler.PatchMapping.pattern.html"><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</a></div>}</div></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="variable"><a class="header-anchor" href="#variable">Variables</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler.PatchMapping.pattern.html">pattern</a><div class="simplified-prototype" style="max-width: 16ch;"><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></dt><dd><div><p>See <tt class="inline-code">PathMapping.pattern</tt>.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct current" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PatchMapping.pattern (handy_http_handlers.path_handler.PatchMapping.pattern)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PatchMapping.pattern</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a> </div><div><div class="documentation-comment synopsis"><div><p>See <tt class="inline-code">PathMapping.pattern</tt>.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">PatchMapping</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a>
<span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_handlers.path_handler.PatchMapping.pattern.html">pattern</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandler.addMapping (handy_http_handlers.path_handler.PathHandler.addMapping)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandler.addMapping</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a> </div><div><div class="documentation-comment synopsis"><div><p>Adds a mapping to this handler, such that requests which match the given
method and pattern will be handed off to the given handler.</p><p>Overloaded variations of this method are defined for your convenience,
which allow you to add a mapping for multiple HTTP methods and/or path
patterns.</p></div></div></div><div class="annotated-prototype"><ol class="overloads"><li class="active-overload-option"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string pattern, HttpRequestHandler handler)</span><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">PathHandler</span></div><div><div class="attributes"></div><div class="return-type"><a class="name" data-ident="PathHandler" href="handy_http_handlers.path_handler.PathHandler.html" title="handy_http_handlers.path_handler.PathHandler">PathHandler</a></div><div class="function-name">addMapping</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="3"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpMethod">HttpMethod</span></span></span> <span class="parameter-name name" data-ident="method"><a href="#param-method">method</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">string</span></span></span> <span class="parameter-name name" data-ident="pattern"><a href="#param-pattern">pattern</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpRequestHandler">HttpRequestHandler</span></span></span> <span class="parameter-name name" data-ident="handler"><a href="#param-handler">handler</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.2.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string pattern, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.3.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string[] patterns, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.4.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string[] patterns, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.5.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(string pattern, HttpRequestHandler handler)</span></a></li></ol></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-method"><a class="parameter-name" data-ident="method" href="#param-method">method</a> <span class="parameter-type"><span class="name" data-ident="HttpMethod">HttpMethod</span></span></dt><dd><div class="documentation-comment"><div><p>The HTTP method to match against.</p></div></div></dd><dt id="param-pattern"><a class="parameter-name" data-ident="pattern" href="#param-pattern">pattern</a> <span class="parameter-type"><span class="builtin-type">string</span></span></dt><dd><div class="documentation-comment"><div><p>The path pattern to match against. See <a href="https://github.com/andrewlalis/path-matcher">https://github.com/andrewlalis/path-matcher</a>
for more details on the pattern's format.</p></div></div></dd><dt id="param-handler"><a class="parameter-name" data-ident="handler" href="#param-handler">handler</a> <span class="parameter-type"><span class="name" data-ident="HttpRequestHandler">HttpRequestHandler</span></span></dt><dd><div class="documentation-comment"><div><p>The handler that will handle matching requests.</p></div></div></dd></dl><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><a class="xref" href="handy_http_handlers.path_handler.PathHandler.html" title="handy_http_handlers.path_handler.PathHandler"><span class="name" data-ident="PathHandler">PathHandler</span></a></span></div><div class="documentation-comment returns-description"><div><p>This path handler, for method chaining.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.path_handler.PathHandler.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html">addMapping</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.handle.html">handle</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.registerHandlers.html">registerHandlers</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html">setNotFoundHandler</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandler.addMapping (handy_http_handlers.path_handler.PathHandler.addMapping)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandler.addMapping</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a> </div><div><div class="documentation-comment synopsis"><div></div></div></div><div class="annotated-prototype"><ol class="overloads"><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string pattern, HttpRequestHandler handler)</span></a></li><li class="active-overload-option"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string pattern, HttpRequestHandler handler)</span><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">PathHandler</span></div><div><div class="attributes"></div><div class="return-type"><a class="name" data-ident="PathHandler" href="handy_http_handlers.path_handler.PathHandler.html" title="handy_http_handlers.path_handler.PathHandler">PathHandler</a></div><div class="function-name">addMapping</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="3"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpMethod">HttpMethod</span>[]</span></span> <span class="parameter-name name" data-ident="methods"><a href="#param-methods">methods</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">string</span></span></span> <span class="parameter-name name" data-ident="pattern"><a href="#param-pattern">pattern</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpRequestHandler">HttpRequestHandler</span></span></span> <span class="parameter-name name" data-ident="handler"><a href="#param-handler">handler</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.3.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string[] patterns, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.4.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string[] patterns, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.5.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(string pattern, HttpRequestHandler handler)</span></a></li></ol></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.path_handler.PathHandler.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html">addMapping</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.handle.html">handle</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.registerHandlers.html">registerHandlers</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html">setNotFoundHandler</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandler.addMapping (handy_http_handlers.path_handler.PathHandler.addMapping)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandler.addMapping</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a> </div><div><div class="documentation-comment synopsis"><div></div></div></div><div class="annotated-prototype"><ol class="overloads"><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string pattern, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.2.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string pattern, HttpRequestHandler handler)</span></a></li><li class="active-overload-option"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string[] patterns, HttpRequestHandler handler)</span><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">PathHandler</span></div><div><div class="attributes"></div><div class="return-type"><a class="name" data-ident="PathHandler" href="handy_http_handlers.path_handler.PathHandler.html" title="handy_http_handlers.path_handler.PathHandler">PathHandler</a></div><div class="function-name">addMapping</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="3"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpMethod">HttpMethod</span></span></span> <span class="parameter-name name" data-ident="method"><a href="#param-method">method</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">string</span>[]</span></span> <span class="parameter-name name" data-ident="patterns"><a href="#param-patterns">patterns</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpRequestHandler">HttpRequestHandler</span></span></span> <span class="parameter-name name" data-ident="handler"><a href="#param-handler">handler</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.4.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string[] patterns, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.5.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(string pattern, HttpRequestHandler handler)</span></a></li></ol></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.path_handler.PathHandler.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html">addMapping</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.handle.html">handle</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.registerHandlers.html">registerHandlers</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html">setNotFoundHandler</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandler.addMapping (handy_http_handlers.path_handler.PathHandler.addMapping)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandler.addMapping</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a> </div><div><div class="documentation-comment synopsis"><div></div></div></div><div class="annotated-prototype"><ol class="overloads"><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string pattern, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.2.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string pattern, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.3.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string[] patterns, HttpRequestHandler handler)</span></a></li><li class="active-overload-option"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string[] patterns, HttpRequestHandler handler)</span><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">PathHandler</span></div><div><div class="attributes"></div><div class="return-type"><a class="name" data-ident="PathHandler" href="handy_http_handlers.path_handler.PathHandler.html" title="handy_http_handlers.path_handler.PathHandler">PathHandler</a></div><div class="function-name">addMapping</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="3"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpMethod">HttpMethod</span>[]</span></span> <span class="parameter-name name" data-ident="methods"><a href="#param-methods">methods</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">string</span>[]</span></span> <span class="parameter-name name" data-ident="patterns"><a href="#param-patterns">patterns</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpRequestHandler">HttpRequestHandler</span></span></span> <span class="parameter-name name" data-ident="handler"><a href="#param-handler">handler</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.5.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(string pattern, HttpRequestHandler handler)</span></a></li></ol></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.path_handler.PathHandler.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html">addMapping</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.handle.html">handle</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.registerHandlers.html">registerHandlers</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html">setNotFoundHandler</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandler.addMapping (handy_http_handlers.path_handler.PathHandler.addMapping)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandler.addMapping</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a> </div><div><div class="documentation-comment synopsis"><div></div></div></div><div class="annotated-prototype"><ol class="overloads"><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string pattern, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.2.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string pattern, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.3.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string[] patterns, HttpRequestHandler handler)</span></a></li><li class="overload-option"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.4.html"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string[] patterns, HttpRequestHandler handler)</span></a></li><li class="active-overload-option"><span class="overload-signature"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(string pattern, HttpRequestHandler handler)</span><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">PathHandler</span></div><div><div class="attributes"></div><div class="return-type"><a class="name" data-ident="PathHandler" href="handy_http_handlers.path_handler.PathHandler.html" title="handy_http_handlers.path_handler.PathHandler">PathHandler</a></div><div class="function-name">addMapping</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">string</span></span></span> <span class="parameter-name name" data-ident="pattern"><a href="#param-pattern">pattern</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpRequestHandler">HttpRequestHandler</span></span></span> <span class="parameter-name name" data-ident="handler"><a href="#param-handler">handler</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></li></ol></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.path_handler.PathHandler.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html">addMapping</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.handle.html">handle</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.registerHandlers.html">registerHandlers</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html">setNotFoundHandler</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1 @@
<html class="overload-redirect"><script>location.href = 'handy_http_handlers.path_handler.PathHandler.addMapping.5.html';</script> <a href="handy_http_handlers.path_handler.PathHandler.addMapping.5.html">Continue to overload</a></html>

View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandler.handle (handy_http_handlers.path_handler.PathHandler.handle)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandler.handle</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a> </div><div><div class="documentation-comment synopsis"><div><p>Handles a request by looking for a mapped handler whose method and pattern
match the request's, and letting that handler handle the request. If no
match is found, the notFoundHandler will take care of it.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">PathHandler</span></div><div><div class="attributes"></div><div class="return-type"><span class="builtin-type">void</span></div><div class="function-name">handle</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></span> <span class="parameter-name name" data-ident="response"><a href="#param-response">response</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-request"><a class="parameter-name" data-ident="request" href="#param-request">request</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></dt><dd><div class="documentation-comment"><div><p>The request.</p></div></div></dd><dt id="param-response"><a class="parameter-name" data-ident="response" href="#param-response">response</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></dt><dd><div class="documentation-comment"><div><p>The response.</p></div></div></dd></dl></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.path_handler.PathHandler.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html">addMapping</a></li><li><a class="function current" href="handy_http_handlers.path_handler.PathHandler.handle.html">handle</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.registerHandlers.html">registerHandlers</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html">setNotFoundHandler</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,48 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandler (handy_http_handlers.path_handler.PathHandler)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandler</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>A request handler that maps incoming requests to a particular handler based
on the request's URL path and/or HTTP method (GET, POST, etc.).</p><p>Use the various overloaded versions of the <tt class="inline-code">addMapping(...)</tt> method to add
handlers to this path handler. When handling requests, this path handler
will look for matches deterministically in the order you add them. Therefore,
adding mappings with conflicting or duplicate paths will cause the first one
to always be called.</p><p>Path patterns should be defined according to the rules from the path-matcher
library, found here: <a href="https://github.com/andrewlalis/path-matcher">https://github.com/andrewlalis/path-matcher</a></p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">class</span> PathHandler : HttpRequestHandler {<div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathHandler.this.html"><span class="lang-feature name">this</span>();</a></div><div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string pattern, HttpRequestHandler handler);</a></div><div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.2.html"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string pattern, HttpRequestHandler handler);</a></div><div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.3.html"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string[] patterns, HttpRequestHandler handler);</a></div><div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.4.html"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string[] patterns, HttpRequestHandler handler);</a></div><div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathHandler.addMapping.5.html"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(string pattern, HttpRequestHandler handler);</a></div><div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">setNotFoundHandler</span>(HttpRequestHandler handler);</a></div><div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathHandler.handle.html"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">handle</span>(ServerHttpRequest request, ServerHttpResponse response);</a></div><div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathHandler.registerHandlers.html"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">registerHandlers</span>();</a></div>}</div></div><h2 id="constructors"><a class="header-anchor" href="#constructors">Constructors</a></h2><dl class="member-list constructors"><dt><a href="handy_http_handlers.path_handler.PathHandler.this.html">this</a><div class="simplified-prototype" style="max-width: 6ch;"><span class="lang-feature name">this</span>()</div></dt><dd><div><p>Constructs a new path handler with initially no mappings, and a default
notFoundHandler that simply sets a 404 status.</p></div></dd></dl><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="function"><a class="header-anchor" href="#function">Functions</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html">addMapping</a><div class="simplified-prototype" style="max-width: 93ch;"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string pattern, HttpRequestHandler handler)</div></dt><dd><div><p>Adds a mapping to this handler, such that requests which match the given
method and pattern will be handed off to the given handler.</p></div></dd><dt><a href="handy_http_handlers.path_handler.PathHandler.addMapping.2.html">addMapping</a><div class="simplified-prototype" style="max-width: 96ch;"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string pattern, HttpRequestHandler handler)</div></dt><dd><div></div></dd><dt><a href="handy_http_handlers.path_handler.PathHandler.addMapping.3.html">addMapping</a><div class="simplified-prototype" style="max-width: 96ch;"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod method, string[] patterns, HttpRequestHandler handler)</div></dt><dd><div></div></dd><dt><a href="handy_http_handlers.path_handler.PathHandler.addMapping.4.html">addMapping</a><div class="simplified-prototype" style="max-width: 100ch;"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(HttpMethod[] methods, string[] patterns, HttpRequestHandler handler)</div></dt><dd><div></div></dd><dt><a href="handy_http_handlers.path_handler.PathHandler.addMapping.5.html">addMapping</a><div class="simplified-prototype" style="max-width: 72ch;"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">addMapping</span>(string pattern, HttpRequestHandler handler)</div></dt><dd><div></div></dd><dt><a href="handy_http_handlers.path_handler.PathHandler.handle.html">handle</a><div class="simplified-prototype" style="max-width: 73ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">handle</span>(ServerHttpRequest request, ServerHttpResponse response)</div></dt><dd><div><p>Handles a request by looking for a mapped handler whose method and pattern
match the request's, and letting that handler handle the request. If no
match is found, the notFoundHandler will take care of it.</p></div></dd><dt><a href="handy_http_handlers.path_handler.PathHandler.registerHandlers.html">registerHandlers</a><div class="simplified-prototype" style="max-width: 25ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">registerHandlers</span>()</div></dt><dd><div><p>Adds mappings to this path handler which correspond to functions defined
in the given symbol which have been annotated with the <tt class="inline-code">@PathMapping</tt>
attribute (or any simplified aliases like <tt class="inline-code">@GetMapping</tt>).</p></div></dd><dt><a href="handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html">setNotFoundHandler</a><div class="simplified-prototype" style="max-width: 63ch;"><tt class="highlighted"><span class="hid">PathHandler</span></tt> <span class="name">setNotFoundHandler</span>(HttpRequestHandler handler)</div></dt><dd><div><p>Sets the handler that will be called for requests that don't match any
pre-configured mappings.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class current" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandler.registerHandlers (handy_http_handlers.path_handler.PathHandler.registerHandlers)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandler.registerHandlers</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a> </div><div><div class="documentation-comment synopsis"><div><p>Adds mappings to this path handler which correspond to functions defined
in the given symbol which have been annotated with the <tt class="inline-code">@PathMapping</tt>
attribute (or any simplified aliases like <tt class="inline-code">@GetMapping</tt>).</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">PathHandler</span></div><div><div class="attributes"></div><div class="return-type"><span class="builtin-type">void</span></div><div class="function-name">registerHandlers</div><div class="template-parameters" data-count="1">(<div class="parameters-list toplevel"><div class="template-parameter-item parameter-item"> <span><a class="lang-feature" href="http://dpldocs.info/template-alias-parameter">alias</a> <span class="name" data-ident="symbol">symbol</span></span></div></div>)</div><div class="runtime-parameters" data-count="0"><div class="parameters-list toplevel"><span class="paren">(</span><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.path_handler.PathHandler.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html">addMapping</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.handle.html">handle</a></li><li><a class="function current" href="handy_http_handlers.path_handler.PathHandler.registerHandlers.html">registerHandlers</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html">setNotFoundHandler</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandler.setNotFoundHandler (handy_http_handlers.path_handler.PathHandler.setNotFoundHandler)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandler.setNotFoundHandler</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a> </div><div><div class="documentation-comment synopsis"><div><p>Sets the handler that will be called for requests that don't match any
pre-configured mappings.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">PathHandler</span></div><div><div class="attributes"></div><div class="return-type"><a class="name" data-ident="PathHandler" href="handy_http_handlers.path_handler.PathHandler.html" title="handy_http_handlers.path_handler.PathHandler">PathHandler</a></div><div class="function-name">setNotFoundHandler</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpRequestHandler">HttpRequestHandler</span></span></span> <span class="parameter-name name" data-ident="handler"><a href="#param-handler">handler</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-handler"><a class="parameter-name" data-ident="handler" href="#param-handler">handler</a> <span class="parameter-type"><span class="name" data-ident="HttpRequestHandler">HttpRequestHandler</span></span></dt><dd><div class="documentation-comment"><div><p>The handler to use.</p></div></div></dd></dl><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><a class="xref" href="handy_http_handlers.path_handler.PathHandler.html" title="handy_http_handlers.path_handler.PathHandler"><span class="name" data-ident="PathHandler">PathHandler</span></a></span></div><div class="documentation-comment returns-description"><div><p>This path handler, for method chaining.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.path_handler.PathHandler.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html">addMapping</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.handle.html">handle</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.registerHandlers.html">registerHandlers</a></li><li><a class="function current" href="handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html">setNotFoundHandler</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandler.this (handy_http_handlers.path_handler.PathHandler.this)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandler.this</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a> </div><div><div class="documentation-comment synopsis"><div><p>Constructs a new path handler with initially no mappings, and a default
notFoundHandler that simply sets a 404 status.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">PathHandler</span></div><div><div class="attributes"></div><div class="function-name">this</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="0"><div class="parameters-list toplevel"><span class="paren">(</span><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor current" href="handy_http_handlers.path_handler.PathHandler.this.html">this</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.addMapping.1.html">addMapping</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.handle.html">handle</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.registerHandlers.html">registerHandlers</a></li><li><a class="function" href="handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html">setNotFoundHandler</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandlerContextData (handy_http_handlers.path_handler.PathHandlerContextData)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandlerContextData</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>Context data that may be attached to a request to provide additional data
from path matching results, like any path variables that were found.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">class</span> PathHandlerContextData {<div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathHandlerContextData.params.html"><div class="attributes">immutable </div><tt class="highlighted"><span class="hid">PathParam</span>[]</tt> <span class="name">params</span>;</a></div><div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathHandlerContextData.this.html"><span class="lang-feature name">this</span>(immutable(PathParam[]) params);</a></div>}</div></div><h2 id="constructors"><a class="header-anchor" href="#constructors">Constructors</a></h2><dl class="member-list constructors"><dt><a href="handy_http_handlers.path_handler.PathHandlerContextData.this.html">this</a><div class="simplified-prototype" style="max-width: 38ch;"><span class="lang-feature name">this</span>(immutable(PathParam[]) params)</div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="variable"><a class="header-anchor" href="#variable">Variables</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler.PathHandlerContextData.params.html">params</a><div class="simplified-prototype" style="max-width: 20ch;"><tt class="highlighted"><span class="hid">PathParam</span>[]</tt> <span class="name">params</span>;</div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class current" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandlerContextData.params (handy_http_handlers.path_handler.PathHandlerContextData.params)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandlerContextData.params</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">PathHandlerContextData</span></div><div><div class="attributes">immutable </div><tt class="highlighted"><span class="hid">PathParam</span>[]</tt> <span class="name">params</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor" href="handy_http_handlers.path_handler.PathHandlerContextData.this.html">this</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_handlers.path_handler.PathHandlerContextData.params.html">params</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathHandlerContextData.this (handy_http_handlers.path_handler.PathHandlerContextData.this)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathHandlerContextData.this</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">class</span> <span class="name">PathHandlerContextData</span></div><div><div class="attributes"></div><div class="function-name">this</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="type-constructor">immutable</span>(<span class="name" data-ident="PathParam">PathParam</span>[])</span></span> <span class="parameter-name name" data-ident="params"><a href="#param-params">params</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a>
<span class="type-separator">constructors</span><ul><li><a class="constructor current" href="handy_http_handlers.path_handler.PathHandlerContextData.this.html">this</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_handlers.path_handler.PathHandlerContextData.params.html">params</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathMapping (handy_http_handlers.path_handler.PathMapping)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathMapping</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>A user-defined attribute that, when added to a function, allows that
function to be registered automatically by a path handler when you call
its <tt class="inline-code">registerHandlers</tt> method on the module containing the function.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">struct</span> PathMapping {<div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathMapping.method.html"><div class="attributes"></div><tt class="highlighted"><span class="hid">HttpMethod</span></tt> <span class="name">method</span>;</a></div><div class="aggregate-member"><a href="handy_http_handlers.path_handler.PathMapping.pattern.html"><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</a></div>}</div></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="variable"><a class="header-anchor" href="#variable">Variables</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler.PathMapping.method.html">method</a><div class="simplified-prototype" style="max-width: 19ch;"><tt class="highlighted"><span class="hid">HttpMethod</span></tt> <span class="name">method</span>;</div></dt><dd><div><p>The HTTP method that the mapping accepts.</p></div></dd><dt><a href="handy_http_handlers.path_handler.PathMapping.pattern.html">pattern</a><div class="simplified-prototype" style="max-width: 16ch;"><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></dt><dd><div><p>The path pattern for the mapping.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct current" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathMapping.method (handy_http_handlers.path_handler.PathMapping.method)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathMapping.method</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a> </div><div><div class="documentation-comment synopsis"><div><p>The HTTP method that the mapping accepts.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">PathMapping</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="hid">HttpMethod</span></tt> <span class="name">method</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a>
<span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_handlers.path_handler.PathMapping.method.html">method</a></li><li><a class="variable" href="handy_http_handlers.path_handler.PathMapping.pattern.html">pattern</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PathMapping.pattern (handy_http_handlers.path_handler.PathMapping.pattern)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PathMapping.pattern</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a> </div><div><div class="documentation-comment synopsis"><div><p>The path pattern for the mapping.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">PathMapping</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a>
<span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_handlers.path_handler.PathMapping.method.html">method</a></li><li><a class="variable current" href="handy_http_handlers.path_handler.PathMapping.pattern.html">pattern</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PostMapping (handy_http_handlers.path_handler.PostMapping)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PostMapping</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>A simplified version of <tt class="inline-code">PathMapping</tt> for HTTP POST mappings only.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">struct</span> PostMapping {<div class="aggregate-member"><a href="handy_http_handlers.path_handler.PostMapping.pattern.html"><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</a></div>}</div></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="variable"><a class="header-anchor" href="#variable">Variables</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler.PostMapping.pattern.html">pattern</a><div class="simplified-prototype" style="max-width: 16ch;"><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></dt><dd><div><p>See <tt class="inline-code">PathMapping.pattern</tt>.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct current" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PostMapping.pattern (handy_http_handlers.path_handler.PostMapping.pattern)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PostMapping.pattern</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a> </div><div><div class="documentation-comment synopsis"><div><p>See <tt class="inline-code">PathMapping.pattern</tt>.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">PostMapping</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a>
<span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_handlers.path_handler.PostMapping.pattern.html">pattern</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PutMapping (handy_http_handlers.path_handler.PutMapping)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PutMapping</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>A simplified version of <tt class="inline-code">PathMapping</tt> for HTTP PUT mappings only.</p></div></div></div><div class="annotated-prototype"><div class="aggregate-prototype"><div class="attributes"></div><span class="builtin-type">struct</span> PutMapping {<div class="aggregate-member"><a href="handy_http_handlers.path_handler.PutMapping.pattern.html"><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</a></div>}</div></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="variable"><a class="header-anchor" href="#variable">Variables</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler.PutMapping.pattern.html">pattern</a><div class="simplified-prototype" style="max-width: 16ch;"><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></dt><dd><div><p>See <tt class="inline-code">PathMapping.pattern</tt>.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct current" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>PutMapping.pattern (handy_http_handlers.path_handler.PutMapping.pattern)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>PutMapping.pattern</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a> </div><div><div class="documentation-comment synopsis"><div><p>See <tt class="inline-code">PathMapping.pattern</tt>.</p></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">PutMapping</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="type">string</span></tt> <span class="name">pattern</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a> <a class="parent" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a>
<span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_handlers.path_handler.PutMapping.pattern.html">pattern</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>getMethodBit (handy_http_handlers.path_handler.getMethodBit)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>getMethodBit</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>Maps each HTTP method to a bit value, so we can use bit-masking for handler mappings.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"></div><div class="return-type"><span class="builtin-type">ushort</span></div><div class="function-name">getMethodBit</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">in</span> <span class="builtin-type">string</span></span></span> <span class="parameter-name name" data-ident="method"><a href="#param-method">method</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>getPathParamAs (handy_http_handlers.path_handler.getPathParamAs)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>getPathParamAs</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>Gets a specific path variable's value.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"></div><div class="return-type"><span class="name" data-ident="T">T</span></div><div class="function-name">getPathParamAs</div><div class="template-parameters" data-count="1">(<div class="parameters-list toplevel"><div class="template-parameter-item parameter-item"> <span><span class="name" data-ident="T">T</span></span></div></div>)</div><div class="runtime-parameters" data-count="3"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">in</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="builtin-type">string</span></span></span> <span class="parameter-name name" data-ident="name"><a href="#param-name">name</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="T">T</span></span></span> <span class="parameter-name name" data-ident="defaultValue"><a href="#param-defaultValue">defaultValue</a></span><span class="parameter-default-value">&#160;=&#160;<span class="name" data-ident="T">T.init</span></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-request"><a class="parameter-name" data-ident="request" href="#param-request">request</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></dt><dd><div class="documentation-comment"><div><p>The request to get the path variable value from.</p></div></div></dd><dt id="param-name"><a class="parameter-name" data-ident="name" href="#param-name">name</a> <span class="parameter-type"><span class="builtin-type">string</span></span></dt><dd><div class="documentation-comment"><div><p>The name of the path variable.</p></div></div></dd><dt id="param-defaultValue"><a class="parameter-name" data-ident="defaultValue" href="#param-defaultValue">defaultValue</a> <span class="parameter-type"><span class="name" data-ident="T">T</span></span></dt><dd><div class="documentation-comment"><div><p>The default value to use if no path variables are present.</p></div></div></dd></dl><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><span class="name" data-ident="T">T</span></span></div><div class="documentation-comment returns-description"><div><p>The path variable's value.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function current" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>getPathParams (handy_http_handlers.path_handler.getPathParams)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>getPathParams</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>Gets the set of path variables that were matched when the given request was
handled by the path handler.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"></div><div class="return-type"><span class="type-constructor">immutable</span>(<span class="name" data-ident="PathParam">PathParam</span>[])</div><div class="function-name">getPathParams</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">in</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-request"><a class="parameter-name" data-ident="request" href="#param-request">request</a> <span class="parameter-type"><span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></dt><dd><div class="documentation-comment"><div><p>The request to get path variables for.</p></div></div></dd></dl><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><span class="type-constructor">immutable</span>(<span class="name" data-ident="PathParam">PathParam</span>[])</span></div><div class="documentation-comment returns-description"><div><p>The list of path variables.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function current" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,42 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>handy_http_handlers.path_handler (handy_http_handlers.path_handler)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>handy_http_handlers.path_handler</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> </div><div><div class="documentation-comment synopsis"><div><p>Defines a path-matching request handler, that will match incoming requests
against a set of mappings based on the URL and HTTP method, and call a
handler depending on what's matched.</p></div></div></div><div class="annotated-prototype"></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="class"><a class="header-anchor" href="#class">Classes</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a><div class="simplified-prototype" style="max-width: 18ch;"><span class="builtin-type">class</span> <span class="name">PathHandler</span></div></dt><dd><div><p>A request handler that maps incoming requests to a particular handler based
on the request's URL path and/or HTTP method (GET, POST, etc.).</p></div></dd><dt><a href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a><div class="simplified-prototype" style="max-width: 30ch;"><span class="builtin-type">class</span> <span class="name">PathHandlerContextData</span></div></dt><dd><div><p>Context data that may be attached to a request to provide additional data
from path matching results, like any path variables that were found.</p></div></dd></dl><h3 class="member-list-header hide-from-toc" id="function"><a class="header-anchor" href="#function">Functions</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a><div class="simplified-prototype" style="max-width: 37ch;"><tt class="highlighted"><span class="type">ushort</span></tt> <span class="name">getMethodBit</span>(string method)</div></dt><dd><div><p>Maps each HTTP method to a bit value, so we can use bit-masking for handler mappings.</p></div></dd><dt><a href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a><div class="simplified-prototype" style="max-width: 79ch;"><tt class="highlighted"><span class="hid">T</span></tt> <span class="name">getPathParamAs</span>(ServerHttpRequest request, string name, T defaultValue)</div></dt><dd><div><p>Gets a specific path variable's value.</p></div></dd><dt><a href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a><div class="simplified-prototype" style="max-width: 69ch;"><tt class="highlighted"><span class="kwrd">immutable</span>(<span class="hid">PathParam</span>[])</tt> <span class="name">getPathParams</span>(ServerHttpRequest request)</div></dt><dd><div><p>Gets the set of path variables that were matched when the given request was
handled by the path handler.</p></div></dd><dt><a href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a><div class="simplified-prototype" style="max-width: 28ch;"><tt class="highlighted"><span class="type">ushort</span></tt> <span class="name">methodMaskFromAll</span>()</div></dt><dd><div><p>Gets a bitmask that matches all HTTP methods.</p></div></dd><dt><a href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a><div class="simplified-prototype" style="max-width: 55ch;"><tt class="highlighted"><span class="type">ushort</span></tt> <span class="name">methodMaskFromMethods</span>(HttpMethod[] methods)</div></dt><dd><div><p>Computes a bitmask from a list of HTTP methods.</p></div></dd></dl><h3 class="member-list-header hide-from-toc" id="struct"><a class="header-anchor" href="#struct">Structs</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a><div class="simplified-prototype" style="max-width: 22ch;"><span class="builtin-type">struct</span> <span class="name">DeleteMapping</span></div></dt><dd><div><p>A simplified version of <tt class="inline-code">PathMapping</tt> for HTTP DELETE mappings only.</p></div></dd><dt><a href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a><div class="simplified-prototype" style="max-width: 18ch;"><span class="builtin-type">struct</span> <span class="name">GetMapping</span></div></dt><dd><div><p>A simplified version of <tt class="inline-code">PathMapping</tt> for HTTP GET mappings only.</p></div></dd><dt><a href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a><div class="simplified-prototype" style="max-width: 20ch;"><span class="builtin-type">struct</span> <span class="name">PatchMapping</span></div></dt><dd><div><p>A simplified version of <tt class="inline-code">PathMapping</tt> for HTTP PATCH mappings only.</p></div></dd><dt><a href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a><div class="simplified-prototype" style="max-width: 19ch;"><span class="builtin-type">struct</span> <span class="name">PathMapping</span></div></dt><dd><div><p>A user-defined attribute that, when added to a function, allows that
function to be registered automatically by a path handler when you call
its <tt class="inline-code">registerHandlers</tt> method on the module containing the function.</p></div></dd><dt><a href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a><div class="simplified-prototype" style="max-width: 19ch;"><span class="builtin-type">struct</span> <span class="name">PostMapping</span></div></dt><dd><div><p>A simplified version of <tt class="inline-code">PathMapping</tt> for HTTP POST mappings only.</p></div></dd><dt><a href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a><div class="simplified-prototype" style="max-width: 18ch;"><span class="builtin-type">struct</span> <span class="name">PutMapping</span></div></dt><dd><div><p>A simplified version of <tt class="inline-code">PathMapping</tt> for HTTP PUT mappings only.</p></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a>
<span class="type-separator">modules</span><ul><li><a class="module" href="handy_http_handlers.filtered_handler.html">filtered_handler</a></li><li><a class="module current" href="handy_http_handlers.path_handler.html">path_handler</a></li><li><a class="module" href="handy_http_handlers.path_handler_sample_module.html">path_handler_sample_module</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>methodMaskFromAll (handy_http_handlers.path_handler.methodMaskFromAll)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>methodMaskFromAll</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>Gets a bitmask that matches all HTTP methods.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"></div><div class="return-type"><span class="builtin-type">ushort</span></div><div class="function-name">methodMaskFromAll</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="0"><div class="parameters-list toplevel"><span class="paren">(</span><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><span class="builtin-type">ushort</span></span></div><div class="documentation-comment returns-description"><div><p>The bitmask.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function current" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>methodMaskFromMethods (handy_http_handlers.path_handler.methodMaskFromMethods)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>methodMaskFromMethods</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler.html">path_handler</a> </div><div><div class="documentation-comment synopsis"><div><p>Computes a bitmask from a list of HTTP methods.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"></div><div class="return-type"><span class="builtin-type">ushort</span></div><div class="function-name">methodMaskFromMethods</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="name" data-ident="HttpMethod">HttpMethod</span>[]</span></span> <span class="parameter-name name" data-ident="methods"><a href="#param-methods">methods</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div><h2 id="parameters"><a class="header-anchor" href="#parameters">Parameters</a></h2><dl class="parameter-descriptions"><dt id="param-methods"><a class="parameter-name" data-ident="methods" href="#param-methods">methods</a> <span class="parameter-type"><span class="name" data-ident="HttpMethod">HttpMethod</span>[]</span></dt><dd><div class="documentation-comment"><div><p>The methods to make a bitmask from.</p></div></div></dd></dl><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><span class="builtin-type">ushort</span></span></div><div class="documentation-comment returns-description"><div><p>A bitmask that matches all the given methods.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler.html">path_handler</a>
<span class="type-separator">classes</span><ul><li><a class="class" href="handy_http_handlers.path_handler.PathHandler.html">PathHandler</a></li><li><a class="class" href="handy_http_handlers.path_handler.PathHandlerContextData.html">PathHandlerContextData</a></li></ul><span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler.getMethodBit.html">getMethodBit</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParamAs.html">getPathParamAs</a></li><li><a class="function" href="handy_http_handlers.path_handler.getPathParams.html">getPathParams</a></li><li><a class="function" href="handy_http_handlers.path_handler.methodMaskFromAll.html">methodMaskFromAll</a></li><li><a class="function current" href="handy_http_handlers.path_handler.methodMaskFromMethods.html">methodMaskFromMethods</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_handlers.path_handler.DeleteMapping.html">DeleteMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.GetMapping.html">GetMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PatchMapping.html">PatchMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PathMapping.html">PathMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PostMapping.html">PostMapping</a></li><li><a class="struct" href="handy_http_handlers.path_handler.PutMapping.html">PutMapping</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>h1 (handy_http_handlers.path_handler_sample_module.h1)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>h1</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler_sample_module.html">path_handler_sample_module</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"><div class="versions-container">version(unittest)</div><div class="uda">@<a class="name" data-ident="PathMapping" href="handy_http_handlers.path_handler.PathMapping.html" title="handy_http_handlers.path_handler.PathMapping">PathMapping</a>(<span class="name" data-ident="HttpMethod">HttpMethod.GET</span>, &quot;/h1&quot;) </div></div><div class="return-type"><span class="builtin-type">void</span></div><div class="function-name">h1</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></span> <span class="parameter-name name" data-ident="response"><a href="#param-response">response</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler_sample_module.html">path_handler_sample_module</a>
<span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_handlers.path_handler_sample_module.h1.html">h1</a></li><li><a class="function" href="handy_http_handlers.path_handler_sample_module.h2.html">h2</a></li><li><a class="function" href="handy_http_handlers.path_handler_sample_module.h3.html">h3</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>h2 (handy_http_handlers.path_handler_sample_module.h2)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>h2</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler_sample_module.html">path_handler_sample_module</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"><div class="versions-container">version(unittest)</div><div class="uda">@<a class="name" data-ident="PathMapping" href="handy_http_handlers.path_handler.PathMapping.html" title="handy_http_handlers.path_handler.PathMapping">PathMapping</a>(<span class="name" data-ident="HttpMethod">HttpMethod.POST</span>, &quot;/h2&quot;) </div></div><div class="return-type"><span class="builtin-type">void</span></div><div class="function-name">h2</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></span> <span class="parameter-name name" data-ident="response"><a href="#param-response">response</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler_sample_module.html">path_handler_sample_module</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler_sample_module.h1.html">h1</a></li><li><a class="function current" href="handy_http_handlers.path_handler_sample_module.h2.html">h2</a></li><li><a class="function" href="handy_http_handlers.path_handler_sample_module.h3.html">h3</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>h3 (handy_http_handlers.path_handler_sample_module.h3)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>h3</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> <a class="breadcrumb" href="handy_http_handlers.path_handler_sample_module.html">path_handler_sample_module</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="attributes"><div class="versions-container">version(unittest)</div><div class="uda">@<a class="name" data-ident="GetMapping" href="handy_http_handlers.path_handler.GetMapping.html" title="handy_http_handlers.path_handler.GetMapping">GetMapping</a>(&quot;/h3&quot;) </div></div><div class="return-type"><span class="builtin-type">void</span></div><div class="function-name">h3</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="2"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpRequest">ServerHttpRequest</span></span></span> <span class="parameter-name name" data-ident="request"><a href="#param-request">request</a></span></div><span class="comma">,</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><span class="storage-class">ref</span> <span class="name" data-ident="ServerHttpResponse">ServerHttpResponse</span></span></span> <span class="parameter-name name" data-ident="response"><a href="#param-response">response</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a> <a class="parent" href="handy_http_handlers.path_handler_sample_module.html">path_handler_sample_module</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_handlers.path_handler_sample_module.h1.html">h1</a></li><li><a class="function" href="handy_http_handlers.path_handler_sample_module.h2.html">h2</a></li><li><a class="function current" href="handy_http_handlers.path_handler_sample_module.h3.html">h3</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>handy_http_handlers.path_handler_sample_module (handy_http_handlers.path_handler_sample_module)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>handy_http_handlers.path_handler_sample_module</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_handlers.html">handy_http_handlers</a> </div><div><div class="documentation-comment synopsis"><div><p>This module defines some path mapping functions to help test the path
handler's function for registering annotated functions.</p></div></div></div><div class="annotated-prototype"></div><h2 id="members"><a class="header-anchor" href="#members">Members</a></h2><h3 class="member-list-header hide-from-toc" id="function"><a class="header-anchor" href="#function">Functions</a></h3><dl class="member-list native"><dt><a href="handy_http_handlers.path_handler_sample_module.h1.html">h1</a><div class="simplified-prototype" style="max-width: 69ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">h1</span>(ServerHttpRequest request, ServerHttpResponse response)</div></dt><dd><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></dd><dt><a href="handy_http_handlers.path_handler_sample_module.h2.html">h2</a><div class="simplified-prototype" style="max-width: 69ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">h2</span>(ServerHttpRequest request, ServerHttpResponse response)</div></dt><dd><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></dd><dt><a href="handy_http_handlers.path_handler_sample_module.h3.html">h3</a><div class="simplified-prototype" style="max-width: 69ch;"><tt class="highlighted"><span class="type">void</span></tt> <span class="name">h3</span>(ServerHttpRequest request, ServerHttpResponse response)</div></dt><dd><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></dd></dl><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_handlers.html">handy_http_handlers</a>
<span class="type-separator">modules</span><ul><li><a class="module" href="handy_http_handlers.filtered_handler.html">filtered_handler</a></li><li><a class="module" href="handy_http_handlers.path_handler.html">path_handler</a></li><li><a class="module current" href="handy_http_handlers.path_handler_sample_module.html">path_handler_sample_module</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>index (index)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>index</h1><div class="breadcrumbs"></div><div><div class="documentation-comment synopsis"><div></div></div></div><div class="annotated-prototype"></div><h2 id="modules"><a class="header-anchor" href="#modules">Modules</a></h2><dl class="member-list native"><dt><a href="handy_http_handlers.html">handy_http_handlers</a><div class="simplified-prototype" style="max-width: 28ch;"><span class="builtin-type">module</span> <span class="name">handy_http_handlers</span></div></dt><dd><div><span class="undocumented-note">Undocumented in source.</span></div></dd></dl><div></div></div>
<div id="page-nav">
</div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,180 @@
window.addEventListener("load", function() {
var lineWrappers = document.querySelectorAll(".with-line-wrappers");
for(var i = 0; i < lineWrappers.length; i++) {
var l = lineWrappers[i];
var codeblock = document.createElement("div");
codeblock.className = "codeblock";
l.parentNode.insertBefore(codeblock, l);
var header = document.createElement("header");
codeblock.appendChild(header);
codeblock.appendChild(l);
var btn = document.createElement("button");
btn.setAttribute("type", "button");
var canCopyToClipboard = document.queryCommandSupported("copy");
btn.addEventListener("click", (function(l) { return function() {
document.body.classList.add("hide-line-numbers");
window.getSelection().selectAllChildren(l);
if(canCopyToClipboard)
if(!document.execCommand("copy")) {
alert("copy failed, try ctrl+c manually");
}
};})(l));
btn.textContent = canCopyToClipboard ? "Copy to Clipboard" : "Select All";
header.appendChild(btn);
var btn = document.createElement("button");
btn.setAttribute("type", "button");
btn.addEventListener("click", function() {
document.body.classList.toggle("hide-line-numbers");
});
btn.textContent = "Toggle Line Numbers";
header.appendChild(btn);
}
/* // still sucks in firefox!
document.addEventListener("copy", function(event) {
document.body.classList.add("hide-line-numbers");
});
*/
document.body.addEventListener("mouseover", function(event) {
if(event.target.hasAttribute("data-ident")) {
var all = document.querySelectorAll("[data-ident=\""+event.target.getAttribute("data-ident")+"\"]");
for(var i = 0; i < all.length; i++)
all[i].className += " active";
}
});
document.body.addEventListener("mouseout", function(event) {
if(event.target.hasAttribute("data-ident")) {
var all = document.querySelectorAll("[data-ident=\""+event.target.getAttribute("data-ident")+"\"]");
for(var i = 0; i < all.length; i++)
all[i].className = all[i].className.replace(" active", "");
}
});
/*
document.body.addEventListener("dblclick", function(event) {
if(event.target.hasAttribute("data-ident")) {
location.href = "/" + event.target.getAttribute("data-ident");
}
});
*/
var sn = document.getElementById("source-navigation");
if(sn) {
sn.addEventListener("click", function(event) {
if(event.target.tagName != "A" || event.target.className == "docs")
return true;
if(event.target.nextSibling) {
var s = event.target.nextSibling;
if(s.style.display == "" || s.style.display == "none" || s.className.indexOf("search-hit") != -1) {
s.style.display = "block";
var items = s.getElementsByTagName("ul");
var i;
for(i = 0; i < items.length; i++)
items[i].style.display = "";
items = s.getElementsByTagName("li");
for(i = 0; i < items.length; i++)
items[i].style.display = "";
} else
s.style.display = "";
}
//var id = event.target.href.substring(event.target.href.indexOf("#") + 1);
//sn.style.marginTop = (document.getElementById(id).offsetTop - event.target.offsetTop + 16) + "px";
});
var search = document.createElement("input");
search.setAttribute("type", "search");
function searchHelper() {
var regex = new RegExp(search.value, "i");
var items = document.querySelectorAll("#source-navigation a[href^=\"#\"]");
var stxt = search.value;
for(var i = 0; i < items.length; i++) {
var a = items[i];
if(stxt.length && regex.test(a.textContent)) {
var p = a.parentNode;
while(p.tagName != "DIV") {
if(p.tagName == "LI")
p.style.display = "list-item";
else
p.style.display = "block";
p.className += " search-hit";
p = p.parentNode;
}
} else {
var p = a.parentNode;
if(stxt.length == 0) {
p.style.display = "";
while(p.tagName != "DIV") {
p.style.display = "";
p = p.parentNode;
}
} else
p.style.display = "none";
p.className = p.className.replace(" search-hit", "");
}
}
}
search.addEventListener("keyup", searchHelper);
sn.insertBefore(search, sn.firstChild);
}
/*
function updateDynamicStyle() {
var thing = document.getElementById("page-content");
var newStyle = document.getElementById("dynamic-style");
if(!newStyle) {
newStyle = document.createElement("style");
newStyle.setAttribute("id", "dynamic-style");
newStyle.type = "text/css";
document.head.appendChild(newStyle);
}
var maxContentWidth = window.innerWidth;
// 800 is the threshold for putting nav vertically
if(maxContentWidth < 800)
maxContentWidth = 800;
else
maxContentWidth =
document.body.offsetWidth -
document.getElementById("page-nav").offsetWidth -
document.getElementById("page-nav").offsetLeft -
64;
// sanity check lol
if(maxContentWidth < 800)
maxContentWidth = 800;
newStyle.innerHTML = ".member-list:not(.constructors) dt .simplified-prototype:hover { width: " + (thing.offsetWidth - 32) + "px; } #page-content pre.d_code, #page-content .overload-option, #page-content .member-list dt { max-width: " + (maxContentWidth) + "px; }";
}
updateDynamicStyle();
window.onresize = updateDynamicStyle;
*/
// Disable line numbers in IE because the copy/paste with them sucks - it includes all line numbers
// in the middle making it too hard to use. Copy/paste is more important than line displays.
if (navigator.userAgent.indexOf('MSIE') !== -1 || navigator.appVersion.indexOf('Trident/') > 0) {
var items = document.querySelectorAll(".with-line-wrappers");
for(var a = 0; a < items.length; a++)
items[a].className = items[a].className.replace("with-line-wrappers", "");
}
// Keybind to focus search bar on '?' keydown.
document.addEventListener("keydown", (event) => {
if (event.key == "?") {
var searchBox = document.getElementsByName("searchTerm")[0];
// Hack so the '?' doesn't auto-populate in the search bar.
this.setTimeout(() => {
searchBox.focus();
}, 100);
}
});
});

View File

@ -0,0 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<script>
/*
The purpose of this file is to be a lightweight landing page for standard
forms that will redirect to the JS searcher using a #!term thing.
Since the JS searcher is a heavyweight page (it includes the search index
inline so it doesn't have to XHR, which would break on file:// urls), we
want it to be cached. Normal ?query urls would bust the cache. I don't mind
busting the cache on this little file, but we really want to avoid that on
the big index file.
Hence, the redirect hack.
*/
location.href = "search-results.html#!" + location.search.substring("?searchTerm=".length);
</script>
</head>
<body>
<noscript>
<p>The "offline" searcher requires Javascript.</p>
<p>To get search without JS, build the `locate.d` file (see the adrdox makefile) and use it as a CGI program on a regular web server, or build with -version=embedded_httpd to embed its own server and run that.</p>
<p>Then, configure the server to call that script instead of loading this file, or change your skeleton.html search form action to point to it.</p>
</noscript>
</body></html>

View File

@ -0,0 +1,421 @@
/*
This is the source for offline web search; it will be embedded
in a generated search page along with the search index xml.
You will almost certainly want to gzip this when delivering it!
Also be sure it has the proper cache headers to give a remotely
acceptable performance result. Configure the web server to do
both these. When storing it for offline usage, you might just
leave it unzipped though for convenience of use without a web server.
Tip to the end user: you might want to open this page and keep it
open in a reused tab.
The file generated should be the skeleton.html with the search
index in a <script id="search-index-container" type="text/xml">
right before this, and this file popped in a <script> right before
</body>.
It concatenates them all together so it works from file://, since
that doesn't allow XHR requests to other files so I can't just
ajax the search.xml nor does it allow pre-gzipped assets...
*/
var searchIndexString = document.getElementById("search-index-container").innerHTML;
var parser = new DOMParser();
var searchDocument = parser.parseFromString(searchIndexString, "text/xml");
// what follows is a port of the D search cgi program. Sort of. It isn't
// actually ported since I'm not quite happy with the cgi search algorithm
// yet.
function adrdox_search(searchTerm) {
if(searchTerm.length == 0)
return;
searchTerm = searchTerm.replace(/\++/g, ' ');
if(searchTerm == window.currentSearchTerm)
return;
window.currentSearchTerm = searchTerm;
location.hash = "#!" + encodeURIComponent(searchTerm);
var hitsObj = {};
var terms = searchTerm.split(" ");
for(var i = 0; i < terms.length; i++) {
var t = terms[i];
var hitschild = searchDocument.querySelectorAll("adrdox > index > term[value=\""+stemmer(t)+"\"] > result");
for(var a = 0; a < hitschild.length; a++) {
if(hitsObj[hitschild[a].getAttribute("decl")])
hitsObj[hitschild[a].getAttribute("decl")] += Number(hitschild[a].getAttribute("score"));
else
hitsObj[hitschild[a].getAttribute("decl")] = Number(hitschild[a].getAttribute("score"));
}
if(stemmer(t) != t) {
var hitschild = searchDocument.querySelectorAll("adrdox > index > term[value=\""+t+"\"] > result");
for(var a = 0; a < hitschild.length; a++) {
if(hitsObj[hitschild[a].getAttribute("decl")])
hitsObj[hitschild[a].getAttribute("decl")] += Number(hitschild[a].getAttribute("score"));
else
hitsObj[hitschild[a].getAttribute("decl")] = Number(hitschild[a].getAttribute("score"));
}
}
}
var dotTerms = searchTerm.replace(/ /g, "").split(".");
for(var i = 0; i < dotTerms.length; i++) {
var t = dotTerms[i];
var dna = declByName[t];
if(dna) {
dna.forEach(function(dn) {
if(hitsObj[dn.getAttribute("id")])
hitsObj[dn.getAttribute("id")] += 1;
else
hitsObj[dn.getAttribute("id")] = 1;
});
}
}
var hits = [];
for(name in hitsObj)
hits.push( { decl: name, score: hitsObj[name] } );
hits.sort(function(a, b) {
var s1 = Number(b.score);
var s2 = Number(a.score);
if(s1 == s2)
return a.decl < b.decl;
return s1 - s2;
});
var container = document.getElementById("page-content");
container.innerHTML = "<h2>Search Results</h2>";
var resultsElement = document.createElement("dl");
resultsElement.className = "member-list";
container.appendChild(resultsElement);
var prevFqn;
for(var a = 0; a < hits.length; a++) {
var decl = searchDocument.querySelector("adrdox > listing decl[id=\""+hits[a].decl+"\"]");
if(!decl) continue;
var dt = document.createElement("dt");
var link = document.createElement("a");
link.href = decl.querySelector("link").textContent;
var fqn = [];
var par = decl;
while(par) {
fqn.push(par.querySelector("name").textContent);
if(par.getAttribute("type") == "module")
break;
par = par.parentNode;
if(par.tagName != "decl")
break;
}
var newFqn = fqn.reverse().join(".\u200B");
if(newFqn == prevFqn)
continue;
prevFqn = newFqn;
link.textContent = newFqn;
dt.appendChild(link);
dt.className = "search-result";
dt.setAttribute("data-score", hits[a].score);
dt.setAttribute("data-decl", hits[a].decl);
resultsElement.appendChild(dt);
var dd = document.createElement("dd");
dd.innerHTML = decl.querySelector("desc").textContent;
resultsElement.appendChild(dd);
if(a > 20)
break;
}
}
window.onhashchange = function() {
adrdox_search(decodeURIComponent(location.hash.substring(2)));
};
var declByName = {};
window.onload = function() {
// index the html first ...
searchDocument.querySelectorAll("adrdox > listing decl[id] > name").forEach(function(element) {
if(!Array.isArray(declByName[element.textContent]))
declByName[element.textContent] = [];
declByName[element.textContent].push(element.parentNode);
var p = element.parentNode.parentNode;
while(p.tagName == "decl") {
var e = p.querySelector("name");
if(!Array.isArray(declByName[e.textContent]))
declByName[e.textContent] = [];
declByName[e.textContent].push(element.parentNode);
p = p.parentNode;
}
});
//foreach(element; index.querySelectorAll("adrdox > index term[value]"))
// termByValue[element.attrs.value] = element;
// populate the search from a form, if present
var searchTerm = location.search.substring("?searchTerm=".length);
if(searchTerm)
location.href = location.href.substring(0, location.href.indexOf("?"));
searchTerm = location.hash.substring(2);
adrdox_search(decodeURIComponent(searchTerm));
var search = document.getElementById("search");
if(!search)
return;
search.onsubmit = function() {
adrdox_search(search.elements["searchTerm"].value);
return false;
};
};
// Following is a copy/paste of a stemmer algorithm...it is BSD licensed.
// **************
// Reference Javascript Porter Stemmer. This code corresponds to the original
// 1980 paper available here: http://tartarus.org/martin/PorterStemmer/def.txt
// The latest version of this code is available at https://github.com/kristopolous/Porter-Stemmer
//
// Original comment:
// Porter stemmer in Javascript. Few comments, but it's easy to follow against the rules in the original
// paper, in
//
// Porter, 1980, An algorithm for suffix stripping, Program, Vol. 14,
// no. 3, pp 130-137,
//
// see also http://www.tartarus.org/~martin/PorterStemmer
var stemmer = (function(){
var step2list = {
"ational" : "ate",
"tional" : "tion",
"enci" : "ence",
"anci" : "ance",
"izer" : "ize",
"bli" : "ble",
"alli" : "al",
"entli" : "ent",
"eli" : "e",
"ousli" : "ous",
"ization" : "ize",
"ation" : "ate",
"ator" : "ate",
"alism" : "al",
"iveness" : "ive",
"fulness" : "ful",
"ousness" : "ous",
"aliti" : "al",
"iviti" : "ive",
"biliti" : "ble",
"logi" : "log"
},
step3list = {
"icate" : "ic",
"ative" : "",
"alize" : "al",
"iciti" : "ic",
"ical" : "ic",
"ful" : "",
"ness" : ""
},
c = "[^aeiou]", // consonant
v = "[aeiouy]", // vowel
C = c + "[^aeiouy]*", // consonant sequence
V = v + "[aeiou]*", // vowel sequence
mgr0 = "^(" + C + ")?" + V + C, // [C]VC... is m>0
meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$", // [C]VC[V] is m=1
mgr1 = "^(" + C + ")?" + V + C + V + C, // [C]VCVC... is m>1
s_v = "^(" + C + ")?" + v; // vowel in stem
function dummyDebug() {}
function realDebug() {
console.log(Array.prototype.slice.call(arguments).join(' '));
}
return function (w, debug) {
var
stem,
suffix,
firstch,
re,
re2,
re3,
re4,
debugFunction,
origword = w;
if (debug) {
debugFunction = realDebug;
} else {
debugFunction = dummyDebug;
}
if (w.length < 3) { return w; }
firstch = w.substr(0,1);
if (firstch == "y") {
w = firstch.toUpperCase() + w.substr(1);
}
// Step 1a
re = /^(.+?)(ss|i)es$/;
re2 = /^(.+?)([^s])s$/;
if (re.test(w)) {
w = w.replace(re,"$1$2");
debugFunction('1a',re, w);
} else if (re2.test(w)) {
w = w.replace(re2,"$1$2");
debugFunction('1a',re2, w);
}
// Step 1b
re = /^(.+?)eed$/;
re2 = /^(.+?)(ed|ing)$/;
if (re.test(w)) {
var fp = re.exec(w);
re = new RegExp(mgr0);
if (re.test(fp[1])) {
re = /.$/;
w = w.replace(re,"");
debugFunction('1b',re, w);
}
} else if (re2.test(w)) {
var fp = re2.exec(w);
stem = fp[1];
re2 = new RegExp(s_v);
if (re2.test(stem)) {
w = stem;
debugFunction('1b', re2, w);
re2 = /(at|bl|iz)$/;
re3 = new RegExp("([^aeiouylsz])\\1$");
re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
if (re2.test(w)) {
w = w + "e";
debugFunction('1b', re2, w);
} else if (re3.test(w)) {
re = /.$/;
w = w.replace(re,"");
debugFunction('1b', re3, w);
} else if (re4.test(w)) {
w = w + "e";
debugFunction('1b', re4, w);
}
}
}
// Step 1c
re = new RegExp("^(.*" + v + ".*)y$");
if (re.test(w)) {
var fp = re.exec(w);
stem = fp[1];
w = stem + "i";
debugFunction('1c', re, w);
}
// Step 2
re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
if (re.test(w)) {
var fp = re.exec(w);
stem = fp[1];
suffix = fp[2];
re = new RegExp(mgr0);
if (re.test(stem)) {
w = stem + step2list[suffix];
debugFunction('2', re, w);
}
}
// Step 3
re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
if (re.test(w)) {
var fp = re.exec(w);
stem = fp[1];
suffix = fp[2];
re = new RegExp(mgr0);
if (re.test(stem)) {
w = stem + step3list[suffix];
debugFunction('3', re, w);
}
}
// Step 4
re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
re2 = /^(.+?)(s|t)(ion)$/;
if (re.test(w)) {
var fp = re.exec(w);
stem = fp[1];
re = new RegExp(mgr1);
if (re.test(stem)) {
w = stem;
debugFunction('4', re, w);
}
} else if (re2.test(w)) {
var fp = re2.exec(w);
stem = fp[1] + fp[2];
re2 = new RegExp(mgr1);
if (re2.test(stem)) {
w = stem;
debugFunction('4', re2, w);
}
}
// Step 5
re = /^(.+?)e$/;
if (re.test(w)) {
var fp = re.exec(w);
stem = fp[1];
re = new RegExp(mgr1);
re2 = new RegExp(meq1);
re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
if (re.test(stem) || (re2.test(stem) && !(re3.test(stem)))) {
w = stem;
debugFunction('5', re, re2, re3, w);
}
}
re = /ll$/;
re2 = new RegExp(mgr1);
if (re.test(w) && re2.test(w)) {
re = /.$/;
w = w.replace(re,"");
debugFunction('5', re, re2, w);
}
// and turn initial Y back to y
if (firstch == "y") {
w = firstch.toLowerCase() + w.substr(1);
}
return w;
}
})();

View File

@ -0,0 +1,106 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Documentation</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
</div>
<div id="page-nav">
</div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
<script type="text/xml" id="search-index-container">
<adrdox>
<listing>
<decl id="1" type="module"><name>handy_http_handlers.path_handler</name><desc>&lt;div&gt;&lt;p&gt;Defines a path-matching request handler, that will match incoming requests
against a set of mappings based on the URL and HTTP method, and call a
handler depending on what's matched.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.html</link><decl id="2" type="function"><name>getMethodBit</name><desc>&lt;div&gt;&lt;p&gt;Maps each HTTP method to a bit value, so we can use bit-masking for handler mappings.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.getMethodBit.html</link></decl><decl id="3" type="function"><name>methodMaskFromMethods</name><desc>&lt;div&gt;&lt;p&gt;Computes a bitmask from a list of HTTP methods.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.methodMaskFromMethods.html</link></decl><decl id="4" type="function"><name>methodMaskFromAll</name><desc>&lt;div&gt;&lt;p&gt;Gets a bitmask that matches all HTTP methods.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.methodMaskFromAll.html</link></decl><decl id="5" type="class"><name>PathHandlerContextData</name><desc>&lt;div&gt;&lt;p&gt;Context data that may be attached to a request to provide additional data
from path matching results, like any path variables that were found.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandlerContextData.html</link><decl id="6" type="variable"><name>params</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandlerContextData.params.html</link></decl><decl id="7" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandlerContextData.this.html</link></decl></decl><decl id="8" type="function"><name>getPathParams</name><desc>&lt;div&gt;&lt;p&gt;Gets the set of path variables that were matched when the given request was
handled by the path handler.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.getPathParams.html</link></decl><decl id="9" type="function"><name>getPathParamAs</name><desc>&lt;div&gt;&lt;p&gt;Gets a specific path variable's value.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.getPathParamAs.html</link></decl><decl id="10" type="class"><name>PathHandler</name><desc>&lt;div&gt;&lt;p&gt;A request handler that maps incoming requests to a particular handler based
on the request's URL path and/or HTTP method (GET, POST, etc.).&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.html</link><decl id="11" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;p&gt;Constructs a new path handler with initially no mappings, and a default
notFoundHandler that simply sets a 404 status.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.this.html</link></decl><decl id="12" type="function"><name>addMapping</name><desc>&lt;div&gt;&lt;p&gt;Adds a mapping to this handler, such that requests which match the given
method and pattern will be handed off to the given handler.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.addMapping.1.html</link></decl><decl id="13" type="function"><name>addMapping</name><desc>&lt;div&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.addMapping.2.html</link></decl><decl id="14" type="function"><name>addMapping</name><desc>&lt;div&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.addMapping.3.html</link></decl><decl id="15" type="function"><name>addMapping</name><desc>&lt;div&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.addMapping.4.html</link></decl><decl id="16" type="function"><name>addMapping</name><desc>&lt;div&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.addMapping.5.html</link></decl><decl id="17" type="function"><name>setNotFoundHandler</name><desc>&lt;div&gt;&lt;p&gt;Sets the handler that will be called for requests that don't match any
pre-configured mappings.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html</link></decl><decl id="18" type="function"><name>handle</name><desc>&lt;div&gt;&lt;p&gt;Handles a request by looking for a mapped handler whose method and pattern
match the request's, and letting that handler handle the request. If no
match is found, the notFoundHandler will take care of it.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.handle.html</link></decl><decl id="19" type="function"><name>registerHandlers</name><desc>&lt;div&gt;&lt;p&gt;Adds mappings to this path handler which correspond to functions defined
in the given symbol which have been annotated with the &lt;tt class=&quot;inline-code&quot;&gt;@PathMapping&lt;/tt&gt;
attribute (or any simplified aliases like &lt;tt class=&quot;inline-code&quot;&gt;@GetMapping&lt;/tt&gt;).&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.registerHandlers.html</link></decl></decl><decl id="20" type="struct"><name>PathMapping</name><desc>&lt;div&gt;&lt;p&gt;A user-defined attribute that, when added to a function, allows that
function to be registered automatically by a path handler when you call
its &lt;tt class=&quot;inline-code&quot;&gt;registerHandlers&lt;/tt&gt; method on the module containing the function.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathMapping.html</link><decl id="21" type="variable"><name>method</name><desc>&lt;div&gt;&lt;p&gt;The HTTP method that the mapping accepts.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathMapping.method.html</link></decl><decl id="22" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;The path pattern for the mapping.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathMapping.pattern.html</link></decl></decl><decl id="23" type="struct"><name>GetMapping</name><desc>&lt;div&gt;&lt;p&gt;A simplified version of &lt;tt class=&quot;inline-code&quot;&gt;PathMapping&lt;/tt&gt; for HTTP GET mappings only.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.GetMapping.html</link><decl id="24" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;See &lt;tt class=&quot;inline-code&quot;&gt;PathMapping.pattern&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.GetMapping.pattern.html</link></decl></decl><decl id="25" type="struct"><name>PostMapping</name><desc>&lt;div&gt;&lt;p&gt;A simplified version of &lt;tt class=&quot;inline-code&quot;&gt;PathMapping&lt;/tt&gt; for HTTP POST mappings only.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PostMapping.html</link><decl id="26" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;See &lt;tt class=&quot;inline-code&quot;&gt;PathMapping.pattern&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PostMapping.pattern.html</link></decl></decl><decl id="27" type="struct"><name>PutMapping</name><desc>&lt;div&gt;&lt;p&gt;A simplified version of &lt;tt class=&quot;inline-code&quot;&gt;PathMapping&lt;/tt&gt; for HTTP PUT mappings only.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PutMapping.html</link><decl id="28" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;See &lt;tt class=&quot;inline-code&quot;&gt;PathMapping.pattern&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PutMapping.pattern.html</link></decl></decl><decl id="29" type="struct"><name>DeleteMapping</name><desc>&lt;div&gt;&lt;p&gt;A simplified version of &lt;tt class=&quot;inline-code&quot;&gt;PathMapping&lt;/tt&gt; for HTTP DELETE mappings only.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.DeleteMapping.html</link><decl id="30" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;See &lt;tt class=&quot;inline-code&quot;&gt;PathMapping.pattern&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.DeleteMapping.pattern.html</link></decl></decl><decl id="31" type="struct"><name>PatchMapping</name><desc>&lt;div&gt;&lt;p&gt;A simplified version of &lt;tt class=&quot;inline-code&quot;&gt;PathMapping&lt;/tt&gt; for HTTP PATCH mappings only.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PatchMapping.html</link><decl id="32" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;See &lt;tt class=&quot;inline-code&quot;&gt;PathMapping.pattern&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PatchMapping.pattern.html</link></decl></decl></decl><decl id="33" type="module"><name>handy_http_handlers</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.html</link><decl id="34" type="module"><name>handy_http_handlers.path_handler</name><desc>&lt;div&gt;&lt;p&gt;Defines a path-matching request handler, that will match incoming requests
against a set of mappings based on the URL and HTTP method, and call a
handler depending on what's matched.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.html</link><decl id="35" type="function"><name>getMethodBit</name><desc>&lt;div&gt;&lt;p&gt;Maps each HTTP method to a bit value, so we can use bit-masking for handler mappings.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.getMethodBit.html</link></decl><decl id="36" type="function"><name>methodMaskFromMethods</name><desc>&lt;div&gt;&lt;p&gt;Computes a bitmask from a list of HTTP methods.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.methodMaskFromMethods.html</link></decl><decl id="37" type="function"><name>methodMaskFromAll</name><desc>&lt;div&gt;&lt;p&gt;Gets a bitmask that matches all HTTP methods.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.methodMaskFromAll.html</link></decl><decl id="38" type="class"><name>PathHandlerContextData</name><desc>&lt;div&gt;&lt;p&gt;Context data that may be attached to a request to provide additional data
from path matching results, like any path variables that were found.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandlerContextData.html</link><decl id="39" type="variable"><name>params</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandlerContextData.params.html</link></decl><decl id="40" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandlerContextData.this.html</link></decl></decl><decl id="41" type="function"><name>getPathParams</name><desc>&lt;div&gt;&lt;p&gt;Gets the set of path variables that were matched when the given request was
handled by the path handler.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.getPathParams.html</link></decl><decl id="42" type="function"><name>getPathParamAs</name><desc>&lt;div&gt;&lt;p&gt;Gets a specific path variable's value.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.getPathParamAs.html</link></decl><decl id="43" type="class"><name>PathHandler</name><desc>&lt;div&gt;&lt;p&gt;A request handler that maps incoming requests to a particular handler based
on the request's URL path and/or HTTP method (GET, POST, etc.).&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.html</link><decl id="44" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;p&gt;Constructs a new path handler with initially no mappings, and a default
notFoundHandler that simply sets a 404 status.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.this.html</link></decl><decl id="45" type="function"><name>addMapping</name><desc>&lt;div&gt;&lt;p&gt;Adds a mapping to this handler, such that requests which match the given
method and pattern will be handed off to the given handler.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.addMapping.1.html</link></decl><decl id="46" type="function"><name>addMapping</name><desc>&lt;div&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.addMapping.2.html</link></decl><decl id="47" type="function"><name>addMapping</name><desc>&lt;div&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.addMapping.3.html</link></decl><decl id="48" type="function"><name>addMapping</name><desc>&lt;div&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.addMapping.4.html</link></decl><decl id="49" type="function"><name>addMapping</name><desc>&lt;div&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.addMapping.5.html</link></decl><decl id="50" type="function"><name>setNotFoundHandler</name><desc>&lt;div&gt;&lt;p&gt;Sets the handler that will be called for requests that don't match any
pre-configured mappings.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.setNotFoundHandler.html</link></decl><decl id="51" type="function"><name>handle</name><desc>&lt;div&gt;&lt;p&gt;Handles a request by looking for a mapped handler whose method and pattern
match the request's, and letting that handler handle the request. If no
match is found, the notFoundHandler will take care of it.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.handle.html</link></decl><decl id="52" type="function"><name>registerHandlers</name><desc>&lt;div&gt;&lt;p&gt;Adds mappings to this path handler which correspond to functions defined
in the given symbol which have been annotated with the &lt;tt class=&quot;inline-code&quot;&gt;@PathMapping&lt;/tt&gt;
attribute (or any simplified aliases like &lt;tt class=&quot;inline-code&quot;&gt;@GetMapping&lt;/tt&gt;).&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathHandler.registerHandlers.html</link></decl></decl><decl id="53" type="struct"><name>PathMapping</name><desc>&lt;div&gt;&lt;p&gt;A user-defined attribute that, when added to a function, allows that
function to be registered automatically by a path handler when you call
its &lt;tt class=&quot;inline-code&quot;&gt;registerHandlers&lt;/tt&gt; method on the module containing the function.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathMapping.html</link><decl id="54" type="variable"><name>method</name><desc>&lt;div&gt;&lt;p&gt;The HTTP method that the mapping accepts.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathMapping.method.html</link></decl><decl id="55" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;The path pattern for the mapping.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PathMapping.pattern.html</link></decl></decl><decl id="56" type="struct"><name>GetMapping</name><desc>&lt;div&gt;&lt;p&gt;A simplified version of &lt;tt class=&quot;inline-code&quot;&gt;PathMapping&lt;/tt&gt; for HTTP GET mappings only.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.GetMapping.html</link><decl id="57" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;See &lt;tt class=&quot;inline-code&quot;&gt;PathMapping.pattern&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.GetMapping.pattern.html</link></decl></decl><decl id="58" type="struct"><name>PostMapping</name><desc>&lt;div&gt;&lt;p&gt;A simplified version of &lt;tt class=&quot;inline-code&quot;&gt;PathMapping&lt;/tt&gt; for HTTP POST mappings only.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PostMapping.html</link><decl id="59" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;See &lt;tt class=&quot;inline-code&quot;&gt;PathMapping.pattern&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PostMapping.pattern.html</link></decl></decl><decl id="60" type="struct"><name>PutMapping</name><desc>&lt;div&gt;&lt;p&gt;A simplified version of &lt;tt class=&quot;inline-code&quot;&gt;PathMapping&lt;/tt&gt; for HTTP PUT mappings only.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PutMapping.html</link><decl id="61" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;See &lt;tt class=&quot;inline-code&quot;&gt;PathMapping.pattern&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PutMapping.pattern.html</link></decl></decl><decl id="62" type="struct"><name>DeleteMapping</name><desc>&lt;div&gt;&lt;p&gt;A simplified version of &lt;tt class=&quot;inline-code&quot;&gt;PathMapping&lt;/tt&gt; for HTTP DELETE mappings only.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.DeleteMapping.html</link><decl id="63" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;See &lt;tt class=&quot;inline-code&quot;&gt;PathMapping.pattern&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.DeleteMapping.pattern.html</link></decl></decl><decl id="64" type="struct"><name>PatchMapping</name><desc>&lt;div&gt;&lt;p&gt;A simplified version of &lt;tt class=&quot;inline-code&quot;&gt;PathMapping&lt;/tt&gt; for HTTP PATCH mappings only.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PatchMapping.html</link><decl id="65" type="variable"><name>pattern</name><desc>&lt;div&gt;&lt;p&gt;See &lt;tt class=&quot;inline-code&quot;&gt;PathMapping.pattern&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler.PatchMapping.pattern.html</link></decl></decl></decl><decl id="66" type="module"><name>handy_http_handlers.filtered_handler</name><desc>&lt;div&gt;&lt;p&gt;Defines a &amp;quot;filtered&amp;quot; request handler, that applies an ordered set of filters
(otherwise known as a &amp;quot;filter chain&amp;quot;) before and after handling a request,
as a means of adding a simple middleware layer to HTTP request processing.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.html</link><decl id="67" type="interface"><name>HttpRequestFilter</name><desc>&lt;div&gt;&lt;p&gt;A filter that can be applied to an HTTP request. If the filter determines
that it's okay to continue processing the request, it should call
&lt;tt class=&quot;inline-code&quot;&gt;filterChain.doFilter(request, response)&lt;/tt&gt; to continue the chain. If the
chain is not continued, request processing ends at this filter, and the
current response is sent back to the client.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.HttpRequestFilter.html</link><decl id="68" type="function"><name>doFilter</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.HttpRequestFilter.doFilter.html</link></decl></decl><decl id="69" type="class"><name>FilterChain</name><desc>&lt;div&gt;&lt;p&gt;A filter chain is a singly-linked list that represents a series of filters
to be applied when processing a request.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilterChain.html</link><decl id="70" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilterChain.this.html</link></decl><decl id="71" type="function"><name>doFilter</name><desc>&lt;div&gt;&lt;p&gt;Applies this filter chain link's filter to the given request and
response, and then if there's another link in the chain, calls it to
apply its filter thereafter, and so on until the chain is complete or
a filter has short-circuited without calling &lt;tt class=&quot;inline-code&quot;&gt;filterChain.doFilter&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilterChain.doFilter.html</link></decl><decl id="72" type="static function"><name>build</name><desc>&lt;div&gt;&lt;p&gt;Builds a filter chain from a list of request filters.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilterChain.build.html</link></decl></decl><decl id="73" type="class"><name>BaseHandlerRequestFilter</name><desc>&lt;div&gt;&lt;p&gt;A simple base filter that should always sit at the bottom of the filter
chain, which just calls a request handler.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.html</link><decl id="74" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.this.html</link></decl><decl id="75" type="function"><name>doFilter</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source. Be warned that the author may not have intended to support it.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.doFilter.html</link></decl></decl><decl id="76" type="class"><name>FilteredHandler</name><desc>&lt;div&gt;&lt;p&gt;The FilteredHandler is a request handler you can add to your server to apply
a filter chain to an underlying request handler.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilteredHandler.html</link><decl id="77" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;p&gt;Constructs a filtered handler that applies the given filter chain. Note
that you should probabconstly use the other constructor for most cases, but
if you really want to provide a custom filter chain, you'll most likely
want to add the &lt;tt class=&quot;inline-code&quot;&gt;BaseHandlerRequestFilter&lt;/tt&gt; as the last one in the chain.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilteredHandler.this.1.html</link></decl><decl id="78" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;p&gt;Constructs a filtered handler that applies the given set of filters, in
order, before potentially calling the given base handler.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilteredHandler.this.2.html</link></decl><decl id="79" type="function"><name>handle</name><desc>&lt;div&gt;&lt;p&gt;Handles an incoming request by simply calling the filter chain on it.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilteredHandler.handle.html</link></decl></decl></decl><decl id="80" type="module"><name>handy_http_handlers.path_handler_sample_module</name><desc>&lt;div&gt;&lt;p&gt;This module defines some path mapping functions to help test the path
handler's function for registering annotated functions.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler_sample_module.html</link><decl id="81" type="function"><name>h1</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source. Be warned that the author may not have intended to support it.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler_sample_module.h1.html</link></decl><decl id="82" type="function"><name>h2</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source. Be warned that the author may not have intended to support it.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler_sample_module.h2.html</link></decl><decl id="83" type="function"><name>h3</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source. Be warned that the author may not have intended to support it.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler_sample_module.h3.html</link></decl></decl></decl><decl id="84" type="module"><name>handy_http_handlers.filtered_handler</name><desc>&lt;div&gt;&lt;p&gt;Defines a &amp;quot;filtered&amp;quot; request handler, that applies an ordered set of filters
(otherwise known as a &amp;quot;filter chain&amp;quot;) before and after handling a request,
as a means of adding a simple middleware layer to HTTP request processing.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.html</link><decl id="85" type="interface"><name>HttpRequestFilter</name><desc>&lt;div&gt;&lt;p&gt;A filter that can be applied to an HTTP request. If the filter determines
that it's okay to continue processing the request, it should call
&lt;tt class=&quot;inline-code&quot;&gt;filterChain.doFilter(request, response)&lt;/tt&gt; to continue the chain. If the
chain is not continued, request processing ends at this filter, and the
current response is sent back to the client.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.HttpRequestFilter.html</link><decl id="86" type="function"><name>doFilter</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.HttpRequestFilter.doFilter.html</link></decl></decl><decl id="87" type="class"><name>FilterChain</name><desc>&lt;div&gt;&lt;p&gt;A filter chain is a singly-linked list that represents a series of filters
to be applied when processing a request.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilterChain.html</link><decl id="88" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilterChain.this.html</link></decl><decl id="89" type="function"><name>doFilter</name><desc>&lt;div&gt;&lt;p&gt;Applies this filter chain link's filter to the given request and
response, and then if there's another link in the chain, calls it to
apply its filter thereafter, and so on until the chain is complete or
a filter has short-circuited without calling &lt;tt class=&quot;inline-code&quot;&gt;filterChain.doFilter&lt;/tt&gt;.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilterChain.doFilter.html</link></decl><decl id="90" type="static function"><name>build</name><desc>&lt;div&gt;&lt;p&gt;Builds a filter chain from a list of request filters.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilterChain.build.html</link></decl></decl><decl id="91" type="class"><name>BaseHandlerRequestFilter</name><desc>&lt;div&gt;&lt;p&gt;A simple base filter that should always sit at the bottom of the filter
chain, which just calls a request handler.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.html</link><decl id="92" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.this.html</link></decl><decl id="93" type="function"><name>doFilter</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source. Be warned that the author may not have intended to support it.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.BaseHandlerRequestFilter.doFilter.html</link></decl></decl><decl id="94" type="class"><name>FilteredHandler</name><desc>&lt;div&gt;&lt;p&gt;The FilteredHandler is a request handler you can add to your server to apply
a filter chain to an underlying request handler.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilteredHandler.html</link><decl id="95" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;p&gt;Constructs a filtered handler that applies the given filter chain. Note
that you should probabconstly use the other constructor for most cases, but
if you really want to provide a custom filter chain, you'll most likely
want to add the &lt;tt class=&quot;inline-code&quot;&gt;BaseHandlerRequestFilter&lt;/tt&gt; as the last one in the chain.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilteredHandler.this.1.html</link></decl><decl id="96" type="constructor"><name>this</name><desc>&lt;div&gt;&lt;p&gt;Constructs a filtered handler that applies the given set of filters, in
order, before potentially calling the given base handler.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilteredHandler.this.2.html</link></decl><decl id="97" type="function"><name>handle</name><desc>&lt;div&gt;&lt;p&gt;Handles an incoming request by simply calling the filter chain on it.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.filtered_handler.FilteredHandler.handle.html</link></decl></decl></decl><decl id="98" type="module"><name>handy_http_handlers.path_handler_sample_module</name><desc>&lt;div&gt;&lt;p&gt;This module defines some path mapping functions to help test the path
handler's function for registering annotated functions.&lt;/p&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler_sample_module.html</link><decl id="99" type="function"><name>h1</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source. Be warned that the author may not have intended to support it.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler_sample_module.h1.html</link></decl><decl id="100" type="function"><name>h2</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source. Be warned that the author may not have intended to support it.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler_sample_module.h2.html</link></decl><decl id="101" type="function"><name>h3</name><desc>&lt;div&gt;&lt;span class=&quot;undocumented-note&quot;&gt;Undocumented in source. Be warned that the author may not have intended to support it.&lt;/span&gt;&lt;/div&gt;</desc><link>handy_http_handlers.path_handler_sample_module.h3.html</link></decl></decl></listing>
<index>
</index>
</adrdox>
</script>
<script src="search-docs.js"></script>
</body></html>

1661
docs/ddoc/handlers/style.css Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClientAddress.ipv4InternetAddress (handy_http_primitives.address.ClientAddress.ipv4InternetAddress)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>ClientAddress.ipv4InternetAddress</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_primitives.html">handy_http_primitives</a> <a class="breadcrumb" href="handy_http_primitives.address.html">address</a> <a class="breadcrumb" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">ClientAddress</span></div><div><div class="attributes"></div><a href="handy_http_primitives.address.IPv4InternetAddress.html" title="handy_http_primitives.address.IPv4InternetAddress"><tt class="highlighted"><a class="hid" href="handy_http_primitives.address.IPv4InternetAddress.html" title="handy_http_primitives.address.IPv4InternetAddress">IPv4InternetAddress</a></tt></a> <span class="name">ipv4InternetAddress</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_primitives.html">handy_http_primitives</a> <a class="parent" href="handy_http_primitives.address.html">address</a> <a class="parent" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_primitives.address.ClientAddress.toString.html">toString</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv4.html">ofIPv4</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv6.html">ofIPv6</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofUnixSocket.html">ofUnixSocket</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.unknown.html">unknown</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_primitives.address.ClientAddress.ipv4InternetAddress.html">ipv4InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv6InternetAddress.html">ipv6InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.type.html">type</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.unixSocketAddress.html">unixSocketAddress</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClientAddress.ipv6InternetAddress (handy_http_primitives.address.ClientAddress.ipv6InternetAddress)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>ClientAddress.ipv6InternetAddress</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_primitives.html">handy_http_primitives</a> <a class="breadcrumb" href="handy_http_primitives.address.html">address</a> <a class="breadcrumb" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">ClientAddress</span></div><div><div class="attributes"></div><a href="handy_http_primitives.address.IPv6InternetAddress.html" title="handy_http_primitives.address.IPv6InternetAddress"><tt class="highlighted"><a class="hid" href="handy_http_primitives.address.IPv6InternetAddress.html" title="handy_http_primitives.address.IPv6InternetAddress">IPv6InternetAddress</a></tt></a> <span class="name">ipv6InternetAddress</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_primitives.html">handy_http_primitives</a> <a class="parent" href="handy_http_primitives.address.html">address</a> <a class="parent" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_primitives.address.ClientAddress.toString.html">toString</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv4.html">ofIPv4</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv6.html">ofIPv6</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofUnixSocket.html">ofUnixSocket</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.unknown.html">unknown</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv4InternetAddress.html">ipv4InternetAddress</a></li><li><a class="variable current" href="handy_http_primitives.address.ClientAddress.ipv6InternetAddress.html">ipv6InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.type.html">type</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.unixSocketAddress.html">unixSocketAddress</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClientAddress.ofIPv4 (handy_http_primitives.address.ClientAddress.ofIPv4)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>ClientAddress.ofIPv4</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_primitives.html">handy_http_primitives</a> <a class="breadcrumb" href="handy_http_primitives.address.html">address</a> <a class="breadcrumb" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">ClientAddress</span></div><div><div class="attributes">static </div><div class="return-type"><a class="name" data-ident="ClientAddress" href="handy_http_primitives.address.ClientAddress.html" title="handy_http_primitives.address.ClientAddress">ClientAddress</a></div><div class="function-name">ofIPv4</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><a class="name" data-ident="IPv4InternetAddress" href="handy_http_primitives.address.IPv4InternetAddress.html" title="handy_http_primitives.address.IPv4InternetAddress">IPv4InternetAddress</a></span></span> <span class="parameter-name name" data-ident="addr"><a href="#param-addr">addr</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_primitives.html">handy_http_primitives</a> <a class="parent" href="handy_http_primitives.address.html">address</a> <a class="parent" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_primitives.address.ClientAddress.toString.html">toString</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function current" href="handy_http_primitives.address.ClientAddress.ofIPv4.html">ofIPv4</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv6.html">ofIPv6</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofUnixSocket.html">ofUnixSocket</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.unknown.html">unknown</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv4InternetAddress.html">ipv4InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv6InternetAddress.html">ipv6InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.type.html">type</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.unixSocketAddress.html">unixSocketAddress</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClientAddress.ofIPv6 (handy_http_primitives.address.ClientAddress.ofIPv6)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>ClientAddress.ofIPv6</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_primitives.html">handy_http_primitives</a> <a class="breadcrumb" href="handy_http_primitives.address.html">address</a> <a class="breadcrumb" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">ClientAddress</span></div><div><div class="attributes">static </div><div class="return-type"><a class="name" data-ident="ClientAddress" href="handy_http_primitives.address.ClientAddress.html" title="handy_http_primitives.address.ClientAddress">ClientAddress</a></div><div class="function-name">ofIPv6</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><a class="name" data-ident="IPv6InternetAddress" href="handy_http_primitives.address.IPv6InternetAddress.html" title="handy_http_primitives.address.IPv6InternetAddress">IPv6InternetAddress</a></span></span> <span class="parameter-name name" data-ident="addr"><a href="#param-addr">addr</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_primitives.html">handy_http_primitives</a> <a class="parent" href="handy_http_primitives.address.html">address</a> <a class="parent" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_primitives.address.ClientAddress.toString.html">toString</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv4.html">ofIPv4</a></li><li><a class="static-function current" href="handy_http_primitives.address.ClientAddress.ofIPv6.html">ofIPv6</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofUnixSocket.html">ofUnixSocket</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.unknown.html">unknown</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv4InternetAddress.html">ipv4InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv6InternetAddress.html">ipv6InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.type.html">type</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.unixSocketAddress.html">unixSocketAddress</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClientAddress.ofUnixSocket (handy_http_primitives.address.ClientAddress.ofUnixSocket)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>ClientAddress.ofUnixSocket</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_primitives.html">handy_http_primitives</a> <a class="breadcrumb" href="handy_http_primitives.address.html">address</a> <a class="breadcrumb" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">ClientAddress</span></div><div><div class="attributes">static </div><div class="return-type"><a class="name" data-ident="ClientAddress" href="handy_http_primitives.address.ClientAddress.html" title="handy_http_primitives.address.ClientAddress">ClientAddress</a></div><div class="function-name">ofUnixSocket</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="1"><div class="parameters-list toplevel"><span class="paren">(</span><div class="runtime-parameter-item parameter-item"><span class="parameter-type-holder"><span class="parameter-type"><a class="name" data-ident="UnixSocketAddress" href="handy_http_primitives.address.UnixSocketAddress.html" title="handy_http_primitives.address.UnixSocketAddress">UnixSocketAddress</a></span></span> <span class="parameter-name name" data-ident="addr"><a href="#param-addr">addr</a></span></div><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_primitives.html">handy_http_primitives</a> <a class="parent" href="handy_http_primitives.address.html">address</a> <a class="parent" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_primitives.address.ClientAddress.toString.html">toString</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv4.html">ofIPv4</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv6.html">ofIPv6</a></li><li><a class="static-function current" href="handy_http_primitives.address.ClientAddress.ofUnixSocket.html">ofUnixSocket</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.unknown.html">unknown</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv4InternetAddress.html">ipv4InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv6InternetAddress.html">ipv6InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.type.html">type</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.unixSocketAddress.html">unixSocketAddress</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClientAddress.toString (handy_http_primitives.address.ClientAddress.toString)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>ClientAddress.toString</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_primitives.html">handy_http_primitives</a> <a class="breadcrumb" href="handy_http_primitives.address.html">address</a> <a class="breadcrumb" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a> </div><div><div class="documentation-comment synopsis"><div><p>Serializes this address in a human-readable string representation.</p></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">ClientAddress</span></div><div><div class="attributes">const </div><div class="return-type"><span class="builtin-type">string</span></div><div class="function-name">toString</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="0"><div class="parameters-list toplevel"><span class="paren">(</span><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div><h2 id="returns"><a class="header-anchor" href="#returns">Return Value</a></h2><div><div class="return-type-holder">Type: <span class="return-type"><span class="builtin-type">string</span></span></div><div class="documentation-comment returns-description"><div><p>The string representation of this address.</p></div></div></div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_primitives.html">handy_http_primitives</a> <a class="parent" href="handy_http_primitives.address.html">address</a> <a class="parent" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a>
<span class="type-separator">functions</span><ul><li><a class="function current" href="handy_http_primitives.address.ClientAddress.toString.html">toString</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv4.html">ofIPv4</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv6.html">ofIPv6</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofUnixSocket.html">ofUnixSocket</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.unknown.html">unknown</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv4InternetAddress.html">ipv4InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv6InternetAddress.html">ipv6InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.type.html">type</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.unixSocketAddress.html">unixSocketAddress</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClientAddress.type (handy_http_primitives.address.ClientAddress.type)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>ClientAddress.type</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_primitives.html">handy_http_primitives</a> <a class="breadcrumb" href="handy_http_primitives.address.html">address</a> <a class="breadcrumb" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">ClientAddress</span></div><div><div class="attributes"></div><a href="handy_http_primitives.address.ClientAddressType.html" title="handy_http_primitives.address.ClientAddressType"><tt class="highlighted"><a class="hid" href="handy_http_primitives.address.ClientAddressType.html" title="handy_http_primitives.address.ClientAddressType">ClientAddressType</a></tt></a> <span class="name">type</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_primitives.html">handy_http_primitives</a> <a class="parent" href="handy_http_primitives.address.html">address</a> <a class="parent" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_primitives.address.ClientAddress.toString.html">toString</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv4.html">ofIPv4</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv6.html">ofIPv6</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofUnixSocket.html">ofUnixSocket</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.unknown.html">unknown</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv4InternetAddress.html">ipv4InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv6InternetAddress.html">ipv6InternetAddress</a></li><li><a class="variable current" href="handy_http_primitives.address.ClientAddress.type.html">type</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.unixSocketAddress.html">unixSocketAddress</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClientAddress.unixSocketAddress (handy_http_primitives.address.ClientAddress.unixSocketAddress)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>ClientAddress.unixSocketAddress</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_primitives.html">handy_http_primitives</a> <a class="breadcrumb" href="handy_http_primitives.address.html">address</a> <a class="breadcrumb" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">ClientAddress</span></div><div><div class="attributes"></div><a href="handy_http_primitives.address.UnixSocketAddress.html" title="handy_http_primitives.address.UnixSocketAddress"><tt class="highlighted"><a class="hid" href="handy_http_primitives.address.UnixSocketAddress.html" title="handy_http_primitives.address.UnixSocketAddress">UnixSocketAddress</a></tt></a> <span class="name">unixSocketAddress</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_primitives.html">handy_http_primitives</a> <a class="parent" href="handy_http_primitives.address.html">address</a> <a class="parent" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_primitives.address.ClientAddress.toString.html">toString</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv4.html">ofIPv4</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv6.html">ofIPv6</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofUnixSocket.html">ofUnixSocket</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.unknown.html">unknown</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv4InternetAddress.html">ipv4InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv6InternetAddress.html">ipv6InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.type.html">type</a></li><li><a class="variable current" href="handy_http_primitives.address.ClientAddress.unixSocketAddress.html">unixSocketAddress</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClientAddress.unknown (handy_http_primitives.address.ClientAddress.unknown)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>ClientAddress.unknown</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_primitives.html">handy_http_primitives</a> <a class="breadcrumb" href="handy_http_primitives.address.html">address</a> <a class="breadcrumb" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source. Be warned that the author may not have intended to support it.</span></div></div></div><div class="annotated-prototype"><div class="function-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">ClientAddress</span></div><div><div class="attributes">static </div><div class="return-type"><a class="name" data-ident="ClientAddress" href="handy_http_primitives.address.ClientAddress.html" title="handy_http_primitives.address.ClientAddress">ClientAddress</a></div><div class="function-name">unknown</div><div class="template-parameters" data-count="0"></div><div class="runtime-parameters" data-count="0"><div class="parameters-list toplevel"><span class="paren">(</span><span class="paren">)</span></div></div><div class="function-contracts"></div></div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_primitives.html">handy_http_primitives</a> <a class="parent" href="handy_http_primitives.address.html">address</a> <a class="parent" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a>
<span class="type-separator">functions</span><ul><li><a class="function" href="handy_http_primitives.address.ClientAddress.toString.html">toString</a></li></ul><span class="type-separator">static functions</span><ul><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv4.html">ofIPv4</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofIPv6.html">ofIPv6</a></li><li><a class="static-function" href="handy_http_primitives.address.ClientAddress.ofUnixSocket.html">ofUnixSocket</a></li><li><a class="static-function current" href="handy_http_primitives.address.ClientAddress.unknown.html">unknown</a></li></ul><span class="type-separator">variables</span><ul><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv4InternetAddress.html">ipv4InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.ipv6InternetAddress.html">ipv6InternetAddress</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.type.html">type</a></li><li><a class="variable" href="handy_http_primitives.address.ClientAddress.unixSocketAddress.html">unixSocketAddress</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>ClientAddressType (handy_http_primitives.address.ClientAddressType)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>ClientAddressType</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_primitives.html">handy_http_primitives</a> <a class="breadcrumb" href="handy_http_primitives.address.html">address</a> </div><div><div class="documentation-comment synopsis"><div><p>Defines the different possible address types, used by <tt class="inline-code">ClientAddress</tt>.</p></div></div></div><div class="annotated-prototype"></div><h2 id="values"><a class="header-anchor" href="#values">Values</a></h2><table class="enum-members"><tr><th>Value</th><th>Meaning</th></tr><tr class="enum-member" id="IPv4"><td><a class="enum-member-name" href="#IPv4">IPv4</a><div class="enum-attributes"></div></td><td><div></div></td></tr><tr class="enum-member" id="IPv6"><td><a class="enum-member-name" href="#IPv6">IPv6</a><div class="enum-attributes"></div></td><td><div></div></td></tr><tr class="enum-member" id="UNIX"><td><a class="enum-member-name" href="#UNIX">UNIX</a><div class="enum-attributes"></div></td><td><div></div></td></tr><tr class="enum-member" id="UNKNOWN"><td><a class="enum-member-name" href="#UNKNOWN">UNKNOWN</a><div class="enum-attributes"></div></td><td><div></div></td></tr></table><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_primitives.html">handy_http_primitives</a> <a class="parent" href="handy_http_primitives.address.html">address</a>
<span class="type-separator">enums</span><ul><li><a class="enum current" href="handy_http_primitives.address.ClientAddressType.html">ClientAddressType</a></li></ul><span class="type-separator">structs</span><ul><li><a class="struct" href="handy_http_primitives.address.ClientAddress.html">ClientAddress</a></li><li><a class="struct" href="handy_http_primitives.address.IPv4InternetAddress.html">IPv4InternetAddress</a></li><li><a class="struct" href="handy_http_primitives.address.IPv6InternetAddress.html">IPv6InternetAddress</a></li><li><a class="struct" href="handy_http_primitives.address.UnixSocketAddress.html">UnixSocketAddress</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>IPv4InternetAddress.bytes (handy_http_primitives.address.IPv4InternetAddress.bytes)</title>
<meta charset="utf-8" />
<meta content="width=device-width, initial-scale=1" name="viewport" />
<link href="style.css" rel="stylesheet" />
<script src="script.js" type="text/javascript"></script>
<link href="search-results.html" rel="prefetch" />
</head>
<body>
<div id="page-header">
<div id="logotype">
<span>Documentation</span>
<nav>
<a href="http://dlang.org/">Dlang.org</a>
</nav>
</div>
<form action="search-docs.html" id="search">
<input name="searchTerm" placeholder="Find a symbol name..." type="search" />
<input type="submit" value="Go" />
</form>
</div>
<div id="page-body">
<div id="page-content">
<h1>IPv4InternetAddress.bytes</h1><div class="breadcrumbs"><a class="breadcrumb" href="handy_http_primitives.html">handy_http_primitives</a> <a class="breadcrumb" href="handy_http_primitives.address.html">address</a> <a class="breadcrumb" href="handy_http_primitives.address.IPv4InternetAddress.html">IPv4InternetAddress</a> </div><div><div class="documentation-comment synopsis"><div><span class="undocumented-note">Undocumented in source.</span></div></div></div><div class="annotated-prototype"><div class="declaration-prototype"><div class="parent-prototype"><span class="builtin-type">struct</span> <span class="name">IPv4InternetAddress</span></div><div><div class="attributes"></div><tt class="highlighted"><span class="type">ubyte</span>[<span class="num">4</span>]</tt> <span class="name">bytes</span>;</div></div></div><div></div></div>
<div id="page-nav"><a class="parent" href="handy_http_primitives.html">handy_http_primitives</a> <a class="parent" href="handy_http_primitives.address.html">address</a> <a class="parent" href="handy_http_primitives.address.IPv4InternetAddress.html">IPv4InternetAddress</a>
<span class="type-separator">variables</span><ul><li><a class="variable current" href="handy_http_primitives.address.IPv4InternetAddress.bytes.html">bytes</a></li><li><a class="variable" href="handy_http_primitives.address.IPv4InternetAddress.port.html">port</a></li></ul></div>
</div>
<div id="page-footer">Page generated by <a href="https://github.com/adamdruppe/adrdox">adrdox</a></div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More