<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Libdav on WhyNotHugo (雨果)</title><link>https://whynothugo.nl/tags/libdav/</link><description>Recent content in Libdav on WhyNotHugo (雨果)</description><generator>Hugo</generator><language>en</language><managingEditor>hugo@whynothugo.nl (Hugo Osvaldo Barrera)</managingEditor><webMaster>hugo@whynothugo.nl (Hugo Osvaldo Barrera)</webMaster><lastBuildDate>Mon, 31 Aug 2026 16:38:39 +0200</lastBuildDate><atom:link href="https://whynothugo.nl/tags/libdav/posts.xml" rel="self" type="application/rss+xml"/><item><title>Status update 2026-08</title><link>https://whynothugo.nl/journal/2026/08/31/status-update-2026-08/</link><pubDate>Mon, 31 Aug 2026 16:29:00 +0200</pubDate><author>hugo@whynothugo.nl (Hugo Osvaldo Barrera)</author><guid>https://whynothugo.nl/journal/2026/08/31/status-update-2026-08/</guid><description>&lt;p&gt;I&amp;rsquo;ve been refining the API for &lt;code&gt;libdav&lt;/code&gt;. Two big tasks were involved here: (1)
more flexible generic types for the async helpers and (2) tidying up error
types.&lt;/p&gt;
&lt;h1 id="flexible-async-types"&gt;Flexible &lt;code&gt;async&lt;/code&gt; types&lt;div class="permalink"&gt;[&lt;a href="#flexible-async-types"&gt;permalink&lt;/a&gt;]&lt;/div&gt;&lt;/h1&gt;
&lt;p&gt;The core of &lt;code&gt;libdav&lt;/code&gt; follows a &lt;a href="https://sans-io.readthedocs.io/"&gt;sans I/O&lt;/a&gt; philosophy: it produces
requests and parses response, leaving network transport up to the caller. This
kind of design is clean, flexible, and especially convenient for unit testing.
Not to mention that it makes the library actually usable with any HTTP client
implementation.&lt;/p&gt;</description></item></channel></rss>