<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Handlers on GenHTTP Webserver</title><link>https://genhttp.org/documentation/content/handlers/</link><description>Recent content in Handlers on GenHTTP Webserver</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://genhttp.org/documentation/content/handlers/index.xml" rel="self" type="application/rss+xml"/><item><title>API Browsing</title><link>https://genhttp.org/documentation/content/handlers/api-browsing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/api-browsing/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/GenHTTP.Modules.ApiBrowsing/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;GenHTTP.Modules.ApiBrowsing&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;This module adds JavaScript based applications to visualize an Open API&#10;definition such as &lt;a href="https://swagger.io/tools/swagger-ui/" rel="noopener"&gt;Swagger UI&lt;/a&gt;,&#10;&lt;a href="https://redocly.com/" rel="noopener"&gt;Redoc&lt;/a&gt; or &lt;a href="https://scalar.com/" rel="noopener"&gt;Scalar&lt;/a&gt; to your app. All resources required by those&#10;apps are hosted locally so no internet connection is required.&lt;/p&gt;</description></item><item><title>Content</title><link>https://genhttp.org/documentation/content/handlers/content/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/content/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/GenHTTP.Modules.IO/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;GenHTTP.Modules.IO&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;This handler provides the content of a &lt;a href="../../concepts/resources/"&gt;resource&lt;/a&gt; such&#10;as a file or a text resource to a requesting client. In contrast&#10;to a &lt;a href="../files/#downloads"&gt;download&lt;/a&gt;, the handler does not instruct the&#10;client to download and store the file but just serves it.&lt;/p&gt;</description></item><item><title>Directory Browsing</title><link>https://genhttp.org/documentation/content/handlers/listing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/listing/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/GenHTTP.Modules.DirectoryBrowsing/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;GenHTTP.Modules.DirectoryBrowsing&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;The directory listing provider serves a simple web UI allowing users to browse directories&#10;and files read from a &lt;a href="../../concepts/resources/"&gt;resource tree&lt;/a&gt; below the specified path.&lt;/p&gt;</description></item><item><title>Files</title><link>https://genhttp.org/documentation/content/handlers/files/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/files/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/GenHTTP.Modules.Files/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;GenHTTP.Modules.Files&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;The Files module serves &lt;a href="../../concepts/resources/"&gt;resources&lt;/a&gt; to clients, either one at a time&#10;with a fixed path or as a whole browsable directory tree. The content type of a file is&#10;automatically determined by its extension unless overridden.&lt;/p&gt;</description></item><item><title>Layouting</title><link>https://genhttp.org/documentation/content/handlers/layouting/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/layouting/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/GenHTTP.Modules.Layouting/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;GenHTTP.Modules.Layouting&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;Layouts are a basic mechanism that allows you to assemble your web application from&#10;different parts. They define which URLs are made available by the server and what&#10;the URL structure of your app will look like.&lt;/p&gt;</description></item><item><title>Liquid Pages</title><link>https://genhttp.org/documentation/content/handlers/liquid-pages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/liquid-pages/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/Kinetq.LiquidPages.GenHTTP/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;Kinetq.LiquidPages.GenHTTP&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/Kinetq.LiquidPages/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;Kinetq.LiquidPages&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;div class="callout callout-info" role="note" aria-label="Note"&gt;&#10; &lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;circle cx="12" cy="12" r="10"/&gt;&lt;path d="M12 16v-4M12 8h.01"/&gt;&lt;/svg&gt;&#10; &lt;div class="callout-body"&gt;&lt;p&gt;This is a third-party integration maintained by &lt;a href="https://www.kinetq.com/" rel="noopener"&gt;Kinetq&lt;/a&gt;, not part of the&#10;GenHTTP project. Questions and issues regarding the package are best directed at its maintainers.&lt;/p&gt;&#10;&lt;/div&gt;&#10;&lt;/div&gt;</description></item><item><title>Load Balancer</title><link>https://genhttp.org/documentation/content/handlers/load-balancer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/load-balancer/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/GenHTTP.Modules.LoadBalancing/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;GenHTTP.Modules.LoadBalancing&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;Allows to distribute incoming requests to multiple nodes, either by using&#10;a reverse proxy or by redirecting the client.&lt;/p&gt;</description></item><item><title>Pages</title><link>https://genhttp.org/documentation/content/handlers/pages/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/pages/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/GenHTTP.Modules.Pages/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;GenHTTP.Modules.Pages&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;The pages module allows the server to generate HTML pages (e.g. error messages or the directory listing) and can be&#10;used to render custom pages from a template, using &lt;a href="http://r3c.github.io/cottle/" rel="noopener"&gt;Cottle&lt;/a&gt; as a rendering engine. Support&#10;for rendering websites in GenHTTP is minimalistic, so you should not use this for a website project.&lt;/p&gt;</description></item><item><title>Redirects</title><link>https://genhttp.org/documentation/content/handlers/redirects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/redirects/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/GenHTTP.Modules.Redirects/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;GenHTTP.Modules.Redirects&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;The redirect provider allows to inform the client that the location of the actual resource&#10;is different than the requested URI.&lt;/p&gt;</description></item><item><title>Reverse Proxies</title><link>https://genhttp.org/documentation/content/handlers/reverse-proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/reverse-proxy/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/GenHTTP.Modules.ReverseProxy/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;GenHTTP.Modules.ReverseProxy&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;The reverse proxy content provider allows to embed content from another&#10;web server into your application.&lt;/p&gt;</description></item><item><title>Server Sent Events (SSE)</title><link>https://genhttp.org/documentation/content/handlers/server-sent-events/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/server-sent-events/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/GenHTTP.Modules.ServerSentEvents/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;GenHTTP.Modules.ServerSentEvents&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;&lt;a href="https://html.spec.whatwg.org/multipage/server-sent-events.html#server-sent-events" rel="noopener"&gt;Server Sent Events (SSE)&lt;/a&gt; allow client applications such as&#10;browsers to subscribe to a stream of relevant events without the overhead added by the bi-directional connection&#10;of websockets. Therefore, they are useful whenever the server would like to notify the client about changes. This article&#10;describes how to host an event source in C# using the GenHTTP web server.&lt;/p&gt;</description></item><item><title>Virtual Hosts</title><link>https://genhttp.org/documentation/content/handlers/virtual-hosts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://genhttp.org/documentation/content/handlers/virtual-hosts/</guid><description>&lt;div class="cards"&gt;&#13;&#10;&lt;a class="card card-icon" href="https://www.nuget.org/packages/GenHTTP.Modules.VirtualHosting/" rel="noopener"&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="m16.5 9.4-9-5.19"/&gt;&lt;path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/&gt;&lt;path d="M3.29 7 12 12l8.71-5M12 22V12"/&gt;&lt;/svg&gt;&lt;span class="card-title"&gt;GenHTTP.Modules.VirtualHosting&lt;/span&gt; &lt;span class="card-text"&gt;Package on NuGet&lt;/span&gt;&lt;svg class="icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false"&gt;&lt;path d="M7 17 17 7M8 7h9v9"/&gt;&lt;/svg&gt;&lt;/a&gt;&#10;&#13;&#10;&lt;/div&gt;&#10;&#10;&lt;p&gt;The virtual host handler can be used to deliver different content&#10;depending on the host requested by the client. Note, that the&#10;handler can be used anywhere in the handler chain, but usually it is&#10;most beneficial as the main handler.&lt;/p&gt;</description></item></channel></rss>