<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Docs on spectralab</title><link>https://spectralab.cc/docs/simuhook/</link><description>Recent content in Docs on spectralab</description><generator>Hugo</generator><language>en</language><atom:link href="https://spectralab.cc/docs/simuhook/index.xml" rel="self" type="application/rss+xml"/><item><title>Changelog</title><link>https://spectralab.cc/docs/simuhook/changelog/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://spectralab.cc/docs/simuhook/changelog/</guid><description>&lt;h1 id="changelog"&gt;Changelog&lt;a class="anchor" href="#changelog"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;h2 id="v010"&gt;v0.1.0&lt;a class="anchor" href="#v010"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Mock HTTP server: define endpoints as YAML files, watch the directory, hot-reload live, and log every request as a JSON line. Ships with a full-screen TUI dashboard.&lt;/p&gt;&#10;&lt;h3 id="highlights"&gt;Highlights&lt;a class="anchor" href="#highlights"&gt;#&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Colorized request detail&lt;/strong&gt; — &lt;code&gt;enter&lt;/code&gt; expansion and &lt;code&gt;i&lt;/code&gt; inspector show cyan labels/keys, yellow request bodies, green response bodies, and JSON syntax highlighting.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Response in the &lt;code&gt;enter&lt;/code&gt; expansion&lt;/strong&gt; — expanding a feed row shows the full response alongside the request: status-tinted &lt;code&gt;RESPONSE&lt;/code&gt; header, response headers, and a multi-line response body. Unmatched requests show &lt;code&gt;RESPONSE 404&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Request/response visual separation&lt;/strong&gt; — a muted &lt;code&gt;─&lt;/code&gt; separator plus full-width background bands (REQUEST dark gray &lt;code&gt;236&lt;/code&gt;, RESPONSE dark navy &lt;code&gt;17&lt;/code&gt;) make the two sides instantly distinguishable; response keys are magenta, request keys cyan.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;code&gt;--version&lt;/code&gt; flag&lt;/strong&gt; — print the version and exit. Release builds carry &lt;code&gt;v0.1.0&lt;/code&gt; via ldflags; dev builds report &lt;code&gt;dev&lt;/code&gt;.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;TUI dashboard&lt;/strong&gt; — live counts, latency stats (incl. approximate p95), filterable recent-request feed (&lt;code&gt;ep:&lt;/code&gt;/&lt;code&gt;method:&lt;/code&gt;/&lt;code&gt;status:&lt;/code&gt; prefixes), per-endpoint stats, request/response inspector, pause/resume, g/G scroll jumps.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Mock engine&lt;/strong&gt; — YAML stubs with method/path/query/header/payload matching, &lt;code&gt;echo&lt;/code&gt;/&lt;code&gt;template&lt;/code&gt; modes, configurable delay, weighted response variants (round-robin on equal weight), hot-reload via fsnotify.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Logging&lt;/strong&gt; — every request (matched and unmatched) logged as a JSON line; &lt;code&gt;--max-log-body&lt;/code&gt; caps stored body size.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="cli"&gt;CLI&lt;a class="anchor" href="#cli"&gt;#&lt;/a&gt;&lt;/h3&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f7f7f7;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;simuhook [flags]&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --addr :8080 listen address (env PORT)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --stubs ../stubs stubs directory (env STUBS_DIR)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --log-dir logs log directory (env LOG_DIR)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --tui auto|on|off dashboard mode: auto = TUI on a TTY, line output otherwise&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --recent N recent-log ring buffer size (default 50)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --max-log-body N cap stored body size for logs/dashboard (0 = unlimited; env LOG_MAX_BODY)&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --help, --version usage / version&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="features-in-depth"&gt;Features In Depth&lt;a class="anchor" href="#features-in-depth"&gt;#&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://spectralab.cc/docs/simuhook/stubs/matching/"&gt;Matching&lt;/a&gt;&lt;/strong&gt; — method, exact path, glob path, regex path, query, headers, exact payload, and partial-JSON payload matching. Most-specific match wins deterministically.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://spectralab.cc/docs/simuhook/templates/"&gt;Response templates&lt;/a&gt;&lt;/strong&gt; — variables, &lt;code&gt;Header&lt;/code&gt;/&lt;code&gt;Query&lt;/code&gt;/&lt;code&gt;RandomInt&lt;/code&gt;/&lt;code&gt;RandomHex&lt;/code&gt; functions, 27 faker data generators, and JSONPath request-body extraction.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://spectralab.cc/docs/simuhook/dashboard/"&gt;Dashboard&lt;/a&gt;&lt;/strong&gt; — live dashboard with counts, latency stats (avg/min/max/p95), filterable feed, and per-request expansion and inspector views.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;&lt;a href="https://spectralab.cc/docs/simuhook/features/logging/"&gt;Logging&lt;/a&gt;&lt;/strong&gt; — JSON Lines, per-endpoint files, unmatched request capture.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="binary-assets"&gt;Binary Assets&lt;a class="anchor" href="#binary-assets"&gt;#&lt;/a&gt;&lt;/h3&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;simuhook-darwin-arm64&lt;/code&gt; (Apple Silicon)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;simuhook-darwin-amd64&lt;/code&gt; (Intel Mac)&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;simuhook-linux-arm64&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;simuhook-linux-amd64&lt;/code&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;See &lt;a href="https://spectralab.cc/docs/simuhook/getting-started/installation/"&gt;Installation&lt;/a&gt; for download and setup.&lt;/p&gt;</description></item></channel></rss>