<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Krzysztof Kostałkowicz</title>
    <description>The latest articles on Forem by Krzysztof Kostałkowicz (@krzysztof_kostakowicz_38).</description>
    <link>https://forem.com/krzysztof_kostakowicz_38</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3598708%2F4c0d5bc3-c36e-42e6-8964-85fa1c672550.png</url>
      <title>Forem: Krzysztof Kostałkowicz</title>
      <link>https://forem.com/krzysztof_kostakowicz_38</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/krzysztof_kostakowicz_38"/>
    <language>en</language>
    <item>
      <title>🚀 Introducing httplet: A Simple HTTP Server with Clean Semantics</title>
      <dc:creator>Krzysztof Kostałkowicz</dc:creator>
      <pubDate>Thu, 06 Nov 2025 10:42:30 +0000</pubDate>
      <link>https://forem.com/krzysztof_kostakowicz_38/introducing-httplet-a-simple-http-server-with-clean-semantics-4f8d</link>
      <guid>https://forem.com/krzysztof_kostakowicz_38/introducing-httplet-a-simple-http-server-with-clean-semantics-4f8d</guid>
      <description>&lt;p&gt;Hey devs! 👋 I released a small proof-of-concept project called &lt;a href="https://github.com/krzykos/httplet" rel="noopener noreferrer"&gt;httplet&lt;/a&gt;, a minimalist plugin-oriented HTTP server built for clarity and configurability.&lt;/p&gt;

&lt;p&gt;🔧 What is it? httplet is a lightweight HTTP server that uses a rule-based configuration system to define how requests are handled. You can write your server logic in JSON, YAML, or JavaScript, making it super flexible and readable.&lt;/p&gt;

&lt;p&gt;✨ Key Features:&lt;/p&gt;

&lt;p&gt;Rule-based configuration: Define behavior with clean, sequential rules.&lt;/p&gt;

&lt;p&gt;Built-in routing: Use &lt;code&gt;EnterLocation&lt;/code&gt; to branch URLs with prefix, exact, or regex matching.&lt;/p&gt;

&lt;p&gt;Error handling: Each serving rule supports an onError branch for graceful fallbacks.&lt;/p&gt;

&lt;p&gt;Customizable responses: Add headers, log requests, simulate delays, and more.&lt;/p&gt;

&lt;p&gt;No magic: Every rule is explicit — no hidden behavior.&lt;/p&gt;

&lt;p&gt;📦 Example use cases:&lt;/p&gt;

&lt;p&gt;Serve static files with custom headers.&lt;/p&gt;

&lt;p&gt;Log and inspect incoming requests.&lt;/p&gt;

&lt;p&gt;Simulate latency or race conditions for testing.&lt;/p&gt;

&lt;p&gt;Build simple mock APIs or dev servers.&lt;/p&gt;

&lt;p&gt;💡 Why I built it: I wanted a server that’s easy to reason about, with no hidden routing logic or framework overhead. httplet is my take on making HTTP handling transparent and modular.&lt;/p&gt;

&lt;p&gt;🙋 Who might take benefit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developers - quickly setup local server to develop/run an app&lt;/li&gt;
&lt;li&gt;Dev-ops engineers - for reverse proxy&lt;/li&gt;
&lt;li&gt;Sysadmins - to serve static files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;👉 Check it out: &lt;a href="https://github.com/krzykos/httplet" rel="noopener noreferrer"&gt;github.com/krzykos/httplet&lt;/a&gt; If this idea resonates with you, I’d love your feedback! Star the repo, open an issue, or just drop a comment.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>opensource</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
