2021-01-05 10:10:37 +00:00

702 lines
36 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Community Solid Server</title>
<meta name="description" content="Documentation for Community Solid Server">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/css/main.css">
<script async src="assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="assets/js/search.json" data-base=".">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="index.html" class="title">Community Solid Server</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<h1>Community Solid Server</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<div class="tsd-panel tsd-typography">
<a href="#community-solid-server" id="community-solid-server" style="color: inherit; text-decoration: none;">
<h1>Community Solid Server</h1>
</a>
<p><a href="https://github.com/solid/community-server/actions"><img src="https://github.com/solid/community-server/workflows/CI/badge.svg" alt="Build Status"></a>
<a href="https://coveralls.io/github/solid/community-server"><img src="https://coveralls.io/repos/github/solid/community-server/badge.svg" alt="Coverage Status"></a>
<a href="https://www.npmjs.com/package/@solid/community-server"><img src="https://img.shields.io/npm/v/@solid/community-server" alt="npm version"></a></p>
<p><strong>An open and modular implementation of the
<a href="https://solidproject.org/">Solid</a>
<a href="https://solid.github.io/specification/">specifications</a></strong></p>
<ul>
<li><p>Community Solid Server is open software
to provide people with their own Solid Pod.</p>
</li>
<li><p>It will give developers an environment
to create and test new Solid applications.</p>
</li>
<li><p>Its modular architecture allows
trying out new ideas on the server side
and thereby shape the future of Solid.</p>
</li>
</ul>
<a href="#current-status" id="current-status" style="color: inherit; text-decoration: none;">
<h2>Current status</h2>
</a>
<p>This server is in beta stage,
which means you can start using it for developing and testing apps.
Your feedback is most welcome
as <a href="https://github.com/solid/community-server/issues/new">issues on this repository</a>.</p>
<p>However, you can already boot up the server,
play around with it,
and check how it is made.
<br>
The <a href="https://solid.github.io/community-server/docs/">📗 API documentation</a>
and the <a href="https://github.com/RubenVerborgh/solid-server-architecture">📐 architectural diagram</a>
can help you find your way.</p>
<p>If you are interested in helping out with the development of this server,
be sure to have a look at the <a href="https://github.com/solid/community-server/wiki/Notes-for-developers">📓 developer notes</a>
and <a href="https://github.com/solid/community-server/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22">🛠 good first issues</a>.</p>
<a href="#running-locally" id="running-locally" style="color: inherit; text-decoration: none;">
<h2>Running locally</h2>
</a>
<pre><code class="language-shell"><span style="color: #000000">npm ci</span>
<span style="color: #000000">npm start</span>
</code></pre>
<p>This will start up a server running on port 3000 with a backend storing all data in memory.
More configurations with different backends can be found in the <code>config</code> folder.</p>
<a href="#interacting-with-the-server" id="interacting-with-the-server" style="color: inherit; text-decoration: none;">
<h2>Interacting with the server</h2>
</a>
<p>The server supports low-level interaction via HTTP methods,
such as <code>GET</code>, <code>PUT</code>, <code>HEAD</code>, ...</p>
<p>Below, we provide several examples on how to interact with the server using <code>curl</code>.</p>
<a href="#put-creating-resources-for-a-given-url" id="put-creating-resources-for-a-given-url" style="color: inherit; text-decoration: none;">
<h3><code>PUT</code>: Creating resources for a given URL</h3>
</a>
<p>Create a plain text file:</p>
<pre><code class="language-shell"><span style="color: #000000">curl -X PUT -H </span><span style="color: #A31515">&quot;Content-Type: text/plain&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> -d </span><span style="color: #A31515">&quot;abc&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> http://localhost:3000/myfile.txt</span>
</code></pre>
<p>Create a turtle file:</p>
<pre><code class="language-shell"><span style="color: #000000">curl -X PUT -H </span><span style="color: #A31515">&quot;Content-Type: text/turtle&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> -d </span><span style="color: #A31515">&quot;&lt;ex:s&gt; &lt;ex:p&gt; &lt;ex:o&gt;.&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> http://localhost:3000/myfile.ttl</span>
</code></pre>
<a href="#post-creating-resources-at-a-generated-url" id="post-creating-resources-at-a-generated-url" style="color: inherit; text-decoration: none;">
<h3><code>POST</code>: Creating resources at a generated URL</h3>
</a>
<p>Create a plain text file:</p>
<pre><code class="language-shell"><span style="color: #000000">curl -X POST -H </span><span style="color: #A31515">&quot;Content-Type: text/plain&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> -d </span><span style="color: #A31515">&quot;abc&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> http://localhost:3000/</span>
</code></pre>
<p>Create a turtle file:</p>
<pre><code class="language-shell"><span style="color: #000000">curl -X POST -H </span><span style="color: #A31515">&quot;Content-Type: text/turtle&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> -d </span><span style="color: #A31515">&quot;&lt;ex:s&gt; &lt;ex:p&gt; &lt;ex:o&gt;.&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> http://localhost:3000/</span>
</code></pre>
<p>The response&#39;s <code>Location</code> header will contain the URL of the created resource.</p>
<a href="#get-retrieving-resources" id="get-retrieving-resources" style="color: inherit; text-decoration: none;">
<h3><code>GET</code>: Retrieving resources</h3>
</a>
<p>Retrieve a plain text file:</p>
<pre><code class="language-shell"><span style="color: #000000">curl -H </span><span style="color: #A31515">&quot;Accept: text/plain&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> http://localhost:3000/myfile.txt</span>
</code></pre>
<p>Retrieve a turtle file:</p>
<pre><code class="language-shell"><span style="color: #000000">curl -H </span><span style="color: #A31515">&quot;Accept: text/turtle&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> http://localhost:3000/myfile.ttl</span>
</code></pre>
<p>Retrieve a turtle file in a different serialization:</p>
<pre><code class="language-shell"><span style="color: #000000">curl -H </span><span style="color: #A31515">&quot;Accept: application/ld+json&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> http://localhost:3000/myfile.ttl</span>
</code></pre>
<a href="#delete-deleting-resources" id="delete-deleting-resources" style="color: inherit; text-decoration: none;">
<h3><code>DELETE</code>: Deleting resources</h3>
</a>
<pre><code class="language-shell"><span style="color: #000000">curl -X DELETE http://localhost:3000/myfile.txt</span>
</code></pre>
<a href="#patch-modifying-resources" id="patch-modifying-resources" style="color: inherit; text-decoration: none;">
<h3><code>PATCH</code>: Modifying resources</h3>
</a>
<p>Currently, only patches over RDF resources are supported using <a href="https://www.w3.org/TR/sparql11-update/">SPARQL Update</a>
queries without <code>WHERE</code> clause.</p>
<pre><code class="language-shell"><span style="color: #000000">curl -X PATCH -H </span><span style="color: #A31515">&quot;Content-Type: application/sparql-update&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> -d </span><span style="color: #A31515">&quot;INSERT DATA { &lt;ex:s2&gt; &lt;ex:p2&gt; &lt;ex:o2&gt; }&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> http://localhost:3000/myfile.ttl</span>
</code></pre>
<a href="#head-retrieve-resources-headers" id="head-retrieve-resources-headers" style="color: inherit; text-decoration: none;">
<h3><code>HEAD</code>: Retrieve resources headers</h3>
</a>
<pre><code class="language-shell"><span style="color: #000000">curl -I -H </span><span style="color: #A31515">&quot;Accept: text/plain&quot;</span><span style="color: #000000"> \</span>
<span style="color: #000000"> http://localhost:3000/myfile.txt</span>
</code></pre>
<a href="#options-retrieve-resources-communication-options" id="options-retrieve-resources-communication-options" style="color: inherit; text-decoration: none;">
<h3><code>OPTIONS</code>: Retrieve resources communication options</h3>
</a>
<pre><code class="language-shell"><span style="color: #000000">curl -X OPTIONS -i http://localhost:3000/myfile.txt</span>
</code></pre>
</div>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class=" ">
<a href="modules.html">Exports</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authentication_bearerwebidextractor.html">authentication/<wbr>Bearer<wbr>Web<wbr>IdExtractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authentication_credentials.html">authentication/<wbr>Credentials</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authentication_credentialsextractor.html">authentication/<wbr>Credentials<wbr>Extractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authentication_dpopwebidextractor.html">authentication/DPoPWeb<wbr>IdExtractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authentication_emptycredentialsextractor.html">authentication/<wbr>Empty<wbr>Credentials<wbr>Extractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authentication_unsecureconstantcredentialsextractor.html">authentication/<wbr>Unsecure<wbr>Constant<wbr>Credentials<wbr>Extractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authentication_unsecurewebidextractor.html">authentication/<wbr>Unsecure<wbr>Web<wbr>IdExtractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authorization_aclmanager.html">authorization/<wbr>Acl<wbr>Manager</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authorization_alloweverythingauthorizer.html">authorization/<wbr>Allow<wbr>Everything<wbr>Authorizer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authorization_authorizer.html">authorization/<wbr>Authorizer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authorization_urlbasedaclmanager.html">authorization/<wbr>Url<wbr>Based<wbr>Acl<wbr>Manager</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/authorization_webaclauthorizer.html">authorization/<wbr>Web<wbr>Acl<wbr>Authorizer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/index.html">index</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/init_aclinitializer.html">init/<wbr>Acl<wbr>Initializer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/init_clirunner.html">init/<wbr>Cli<wbr>Runner</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/init_initializer.html">init/<wbr>Initializer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/init_loggerinitializer.html">init/<wbr>Logger<wbr>Initializer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/init_rootcontainerinitializer.html">init/<wbr>Root<wbr>Container<wbr>Initializer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/init_serverinitializer.html">init/<wbr>Server<wbr>Initializer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_authenticatedldphandler.html">ldp/<wbr>Authenticated<wbr>Ldp<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_unsecurewebsocketsprotocol.html">ldp/<wbr>Unsecure<wbr>Web<wbr>Sockets<wbr>Protocol</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_acceptpreferenceparser.html">ldp/http/<wbr>Accept<wbr>Preference<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_basicrequestparser.html">ldp/http/<wbr>Basic<wbr>Request<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_basicresponsewriter.html">ldp/http/<wbr>Basic<wbr>Response<wbr>Writer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_basictargetextractor.html">ldp/http/<wbr>Basic<wbr>Target<wbr>Extractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_bodyparser.html">ldp/http/<wbr>Body<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_errorresponsewriter.html">ldp/http/<wbr>Error<wbr>Response<wbr>Writer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_patch.html">ldp/http/<wbr>Patch</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_preferenceparser.html">ldp/http/<wbr>Preference<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_rawbodyparser.html">ldp/http/<wbr>Raw<wbr>Body<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_requestparser.html">ldp/http/<wbr>Request<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_responsewriter.html">ldp/http/<wbr>Response<wbr>Writer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_sparqlupdatebodyparser.html">ldp/http/<wbr>Sparql<wbr>Update<wbr>Body<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_sparqlupdatepatch.html">ldp/http/<wbr>Sparql<wbr>Update<wbr>Patch</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_targetextractor.html">ldp/http/<wbr>Target<wbr>Extractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_metadata_basicmetadataextractor.html">ldp/http/metadata/<wbr>Basic<wbr>Metadata<wbr>Extractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_metadata_contenttypeparser.html">ldp/http/metadata/<wbr>Content<wbr>Type<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_metadata_linkrelmetadatawriter.html">ldp/http/metadata/<wbr>Link<wbr>Rel<wbr>Metadata<wbr>Writer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_metadata_linktypeparser.html">ldp/http/metadata/<wbr>Link<wbr>Type<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_metadata_mappedmetadatawriter.html">ldp/http/metadata/<wbr>Mapped<wbr>Metadata<wbr>Writer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_metadata_metadataextractor.html">ldp/http/metadata/<wbr>Metadata<wbr>Extractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_metadata_metadataparser.html">ldp/http/metadata/<wbr>Metadata<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_metadata_metadatawriter.html">ldp/http/metadata/<wbr>Metadata<wbr>Writer</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_metadata_slugparser.html">ldp/http/metadata/<wbr>Slug<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_response_createdresponsedescription.html">ldp/http/response/<wbr>Created<wbr>Response<wbr>Description</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_response_okresponsedescription.html">ldp/http/response/<wbr>OkResponse<wbr>Description</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_response_resetresponsedescription.html">ldp/http/response/<wbr>Reset<wbr>Response<wbr>Description</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_http_response_responsedescription.html">ldp/http/response/<wbr>Response<wbr>Description</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_operations_deleteoperationhandler.html">ldp/operations/<wbr>Delete<wbr>Operation<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_operations_getoperationhandler.html">ldp/operations/<wbr>Get<wbr>Operation<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_operations_headoperationhandler.html">ldp/operations/<wbr>Head<wbr>Operation<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_operations_operation.html">ldp/operations/<wbr>Operation</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_operations_operationhandler.html">ldp/operations/<wbr>Operation<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_operations_patchoperationhandler.html">ldp/operations/<wbr>Patch<wbr>Operation<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_operations_postoperationhandler.html">ldp/operations/<wbr>Post<wbr>Operation<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_operations_putoperationhandler.html">ldp/operations/<wbr>Put<wbr>Operation<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_permissions_methodpermissionsextractor.html">ldp/permissions/<wbr>Method<wbr>Permissions<wbr>Extractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_permissions_permissionset.html">ldp/permissions/<wbr>Permission<wbr>Set</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_permissions_permissionsextractor.html">ldp/permissions/<wbr>Permissions<wbr>Extractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_permissions_sparqlpatchpermissionsextractor.html">ldp/permissions/<wbr>Sparql<wbr>Patch<wbr>Permissions<wbr>Extractor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_representation_representation.html">ldp/representation/<wbr>Representation</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_representation_representationmetadata.html">ldp/representation/<wbr>Representation<wbr>Metadata</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_representation_representationpreferences.html">ldp/representation/<wbr>Representation<wbr>Preferences</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/ldp_representation_resourceidentifier.html">ldp/representation/<wbr>Resource<wbr>Identifier</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/logging_lazylogger.html">logging/<wbr>Lazy<wbr>Logger</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/logging_lazyloggerfactory.html">logging/<wbr>Lazy<wbr>Logger<wbr>Factory</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/logging_loglevel.html">logging/<wbr>Log<wbr>Level</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/logging_logutil.html">logging/<wbr>Log<wbr>Util</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/logging_logger.html">logging/<wbr>Logger</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/logging_loggerfactory.html">logging/<wbr>Logger<wbr>Factory</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/logging_voidlogger.html">logging/<wbr>Void<wbr>Logger</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/logging_voidloggerfactory.html">logging/<wbr>Void<wbr>Logger<wbr>Factory</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/logging_winstonlogger.html">logging/<wbr>Winston<wbr>Logger</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/logging_winstonloggerfactory.html">logging/<wbr>Winston<wbr>Logger<wbr>Factory</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_generatedpodmanager.html">pods/<wbr>Generated<wbr>Pod<wbr>Manager</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_podmanager.html">pods/<wbr>Pod<wbr>Manager</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_podmanagerhttphandler.html">pods/<wbr>Pod<wbr>Manager<wbr>Http<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_agent_agent.html">pods/agent/<wbr>Agent</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_agent_agentjsonparser.html">pods/agent/<wbr>Agent<wbr>Json<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_agent_agentparser.html">pods/agent/<wbr>Agent<wbr>Parser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_generate_handlebarstemplateengine.html">pods/generate/<wbr>Handlebars<wbr>Template<wbr>Engine</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_generate_identifiergenerator.html">pods/generate/<wbr>Identifier<wbr>Generator</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_generate_resourcesgenerator.html">pods/generate/<wbr>Resources<wbr>Generator</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_generate_suffixidentifiergenerator.html">pods/generate/<wbr>Suffix<wbr>Identifier<wbr>Generator</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_generate_templateengine.html">pods/generate/<wbr>Template<wbr>Engine</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/pods_generate_templatedresourcesgenerator.html">pods/generate/<wbr>Templated<wbr>Resources<wbr>Generator</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/server_expresshttpserverfactory.html">server/<wbr>Express<wbr>Http<wbr>Server<wbr>Factory</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/server_httphandler.html">server/<wbr>Http<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/server_httprequest.html">server/<wbr>Http<wbr>Request</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/server_httpresponse.html">server/<wbr>Http<wbr>Response</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/server_httpserverfactory.html">server/<wbr>Http<wbr>Server<wbr>Factory</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/server_websockethandler.html">server/<wbr>Web<wbr>Socket<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/server_websocketserverfactory.html">server/<wbr>Web<wbr>Socket<wbr>Server<wbr>Factory</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/server_middleware_corshandler.html">server/middleware/<wbr>Cors<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/server_middleware_headerhandler.html">server/middleware/<wbr>Header<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/server_middleware_websocketadvertiser.html">server/middleware/<wbr>Web<wbr>Socket<wbr>Advertiser</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_atomicresourcestore.html">storage/<wbr>Atomic<wbr>Resource<wbr>Store</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_conditions.html">storage/<wbr>Conditions</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_dataaccessorbasedstore.html">storage/<wbr>Data<wbr>Accessor<wbr>Based<wbr>Store</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_lockingresourcestore.html">storage/<wbr>Locking<wbr>Resource<wbr>Store</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_monitoringstore.html">storage/<wbr>Monitoring<wbr>Store</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_passthroughstore.html">storage/<wbr>Passthrough<wbr>Store</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_patchingstore.html">storage/<wbr>Patching<wbr>Store</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_readonlystore.html">storage/<wbr>Read<wbr>Only<wbr>Store</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_representationconvertingstore.html">storage/<wbr>Representation<wbr>Converting<wbr>Store</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_resourcestore.html">storage/<wbr>Resource<wbr>Store</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_routingresourcestore.html">storage/<wbr>Routing<wbr>Resource<wbr>Store</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_accessors_dataaccessor.html">storage/accessors/<wbr>Data<wbr>Accessor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_accessors_filedataaccessor.html">storage/accessors/<wbr>File<wbr>Data<wbr>Accessor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_accessors_inmemorydataaccessor.html">storage/accessors/<wbr>InMemory<wbr>Data<wbr>Accessor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_accessors_sparqldataaccessor.html">storage/accessors/<wbr>Sparql<wbr>Data<wbr>Accessor</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_conversion_chainedconverter.html">storage/conversion/<wbr>Chained<wbr>Converter</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_conversion_conversionutil.html">storage/conversion/<wbr>Conversion<wbr>Util</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_conversion_quadtordfconverter.html">storage/conversion/<wbr>Quad<wbr>ToRdf<wbr>Converter</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_conversion_rdftoquadconverter.html">storage/conversion/<wbr>Rdf<wbr>ToQuad<wbr>Converter</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_conversion_representationconverter.html">storage/conversion/<wbr>Representation<wbr>Converter</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_conversion_typedrepresentationconverter.html">storage/conversion/<wbr>Typed<wbr>Representation<wbr>Converter</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_mapping_extensionbasedmapper.html">storage/mapping/<wbr>Extension<wbr>Based<wbr>Mapper</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_mapping_fileidentifiermapper.html">storage/mapping/<wbr>File<wbr>Identifier<wbr>Mapper</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_mapping_fixedcontenttypemapper.html">storage/mapping/<wbr>Fixed<wbr>Content<wbr>Type<wbr>Mapper</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_mapping_mapperutil.html">storage/mapping/<wbr>Mapper<wbr>Util</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_patch_patchhandler.html">storage/patch/<wbr>Patch<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_patch_sparqlupdatepatchhandler.html">storage/patch/<wbr>Sparql<wbr>Update<wbr>Patch<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_routing_convertingrouterrule.html">storage/routing/<wbr>Converting<wbr>Router<wbr>Rule</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_routing_preferencesupport.html">storage/routing/<wbr>Preference<wbr>Support</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_routing_regexrouterrule.html">storage/routing/<wbr>Regex<wbr>Router<wbr>Rule</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/storage_routing_routerrule.html">storage/routing/<wbr>Router<wbr>Rule</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_asynchandler.html">util/<wbr>Async<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_contenttypes.html">util/<wbr>Content<wbr>Types</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_guardedstream.html">util/<wbr>Guarded<wbr>Stream</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_headerutil.html">util/<wbr>Header<wbr>Util</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_pathutil.html">util/<wbr>Path<wbr>Util</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_quadutil.html">util/<wbr>Quad<wbr>Util</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_recordobject.html">util/<wbr>Record<wbr>Object</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_resourceutil.html">util/<wbr>Resource<wbr>Util</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_sequencehandler.html">util/<wbr>Sequence<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_streamutil.html">util/<wbr>Stream<wbr>Util</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_termutil.html">util/<wbr>Term<wbr>Util</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_vocabularies.html">util/<wbr>Vocabularies</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_waterfallhandler.html">util/<wbr>Waterfall<wbr>Handler</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_errors_badrequesthttperror.html">util/errors/<wbr>Bad<wbr>Request<wbr>Http<wbr>Error</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_errors_conflicthttperror.html">util/errors/<wbr>Conflict<wbr>Http<wbr>Error</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_errors_forbiddenhttperror.html">util/errors/<wbr>Forbidden<wbr>Http<wbr>Error</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_errors_httperror.html">util/errors/<wbr>Http<wbr>Error</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_errors_internalservererror.html">util/errors/<wbr>Internal<wbr>Server<wbr>Error</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_errors_methodnotallowedhttperror.html">util/errors/<wbr>Method<wbr>Not<wbr>Allowed<wbr>Http<wbr>Error</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_errors_notfoundhttperror.html">util/errors/<wbr>Not<wbr>Found<wbr>Http<wbr>Error</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_errors_notimplementedhttperror.html">util/errors/<wbr>Not<wbr>Implemented<wbr>Http<wbr>Error</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_errors_systemerror.html">util/errors/<wbr>System<wbr>Error</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_errors_unauthorizedhttperror.html">util/errors/<wbr>Unauthorized<wbr>Http<wbr>Error</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_errors_unsupportedmediatypehttperror.html">util/errors/<wbr>Unsupported<wbr>Media<wbr>Type<wbr>Http<wbr>Error</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_identifiers_identifierstrategy.html">util/identifiers/<wbr>Identifier<wbr>Strategy</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_identifiers_singlerootidentifierstrategy.html">util/identifiers/<wbr>Single<wbr>Root<wbr>Identifier<wbr>Strategy</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_locking_expiringlock.html">util/locking/<wbr>Expiring<wbr>Lock</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_locking_expiringresourcelocker.html">util/locking/<wbr>Expiring<wbr>Resource<wbr>Locker</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_locking_lock.html">util/locking/<wbr>Lock</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_locking_resourcelocker.html">util/locking/<wbr>Resource<wbr>Locker</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_locking_singlethreadedresourcelocker.html">util/locking/<wbr>Single<wbr>Threaded<wbr>Resource<wbr>Locker</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_locking_wrappedexpiringlock.html">util/locking/<wbr>Wrapped<wbr>Expiring<wbr>Lock</a>
</li>
<li class=" tsd-kind-module">
<a href="modules/util_locking_wrappedexpiringresourcelocker.html">util/locking/<wbr>Wrapped<wbr>Expiring<wbr>Resource<wbr>Locker</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
</nav>
</div>
</div>
</div>
<footer>
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
</ul>
</div>
</div>
</footer>
<div class="overlay"></div>
<script src="assets/js/main.js"></script>
</body>
</html>