<?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>DEV Community: Shabbir Hasan</title>
    <description>The latest articles on DEV Community by Shabbir Hasan (@shabbirhasan01).</description>
    <link>https://dev.to/shabbirhasan01</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%2F3797014%2F5b63f7ae-4290-4609-893e-0127b844b4a6.png</url>
      <title>DEV Community: Shabbir Hasan</title>
      <link>https://dev.to/shabbirhasan01</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/shabbirhasan01"/>
    <language>en</language>
    <item>
      <title>Build a free hosted mock API server, Configure Free mock server in seconds - no Docker, no backend, Just signup.</title>
      <dc:creator>Shabbir Hasan</dc:creator>
      <pubDate>Sat, 11 Apr 2026 12:10:34 +0000</pubDate>
      <link>https://dev.to/shabbirhasan01/build-a-free-hosted-mock-api-server-configure-free-mock-server-in-seconds-no-docker-no-backend-3o71</link>
      <guid>https://dev.to/shabbirhasan01/build-a-free-hosted-mock-api-server-configure-free-mock-server-in-seconds-no-docker-no-backend-3o71</guid>
      <description>&lt;p&gt;I've been building &lt;a href="https://requex.me" rel="noopener noreferrer"&gt;Requex.me&lt;/a&gt; for a while — a free, no-signup webhook testing tool. Yesterday I shipped what I think is the most useful feature yet: a hosted mock server.&lt;/p&gt;

&lt;p&gt;Here's the problem it solves.&lt;/p&gt;

&lt;p&gt;You're building a frontend. The backend team hasn't shipped the &lt;code&gt;/orders&lt;/code&gt; endpoint yet. So you either block on them, spin up a local Express server that you have to keep running, or fake it with hardcoded data in your component. None of these are great.&lt;/p&gt;

&lt;p&gt;The alternative I wanted: define a URL, tell it what to return, and move on.&lt;/p&gt;




&lt;h3&gt;
  
  
  What I built
&lt;/h3&gt;

&lt;p&gt;Every mock server on Requex gets a stable HTTPS URL:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbxbian7f0mxch7c4ugg7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbxbian7f0mxch7c4ugg7.png" alt="MockServer Home" width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frh5ozugvgesqm9pd7qwx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frh5ozugvgesqm9pd7qwx.png" alt="MockServer List" width="800" height="456"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvsvvgur0p0uhb2jt16ql.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvsvvgur0p0uhb2jt16ql.png" alt="MockServer config" width="800" height="457"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fop437b384f3ampsxim1g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fop437b384f3ampsxim1g.png" alt="MockServer conditions" width="800" height="456"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://api.requex.me/mock/&amp;lt;your-server-id&amp;gt;/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From there, you define routes and responses from a UI. No code, no deploy, no Docker. Changes go live instantly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What you can configure per route:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTTP method (GET, POST, PUT, PATCH, DELETE, or &lt;code&gt;ANY&lt;/code&gt; as a wildcard)&lt;/li&gt;
&lt;li&gt;Status code (any valid HTTP status — 200, 201, 401, 422, 500...)&lt;/li&gt;
&lt;li&gt;Response body (JSON, XML, plain text, empty — returned as-is)&lt;/li&gt;
&lt;li&gt;Custom headers (&lt;code&gt;Content-Type&lt;/code&gt;, auth challenge headers, whatever you need)&lt;/li&gt;
&lt;li&gt;Response delay in ms (0–30,000ms — useful for testing loading states and timeout handling)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;URL path routing&lt;/strong&gt; supports Express-style params:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/users/:id           → matches /users/42, /users/abc
/orders/:id/items    → matches /orders/99/items
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  The part I'm most proud of: conditional responses
&lt;/h3&gt;

&lt;p&gt;This is where it gets genuinely useful. Each response can have conditions that gate when it fires — inspecting query params, headers, path params, or JSON body fields.&lt;/p&gt;

&lt;p&gt;Real example: version-based routing on &lt;code&gt;/api/data&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# GET with ?version=v2 → fires the v2 response&lt;/span&gt;
curl https://api.requex.me/mock/&amp;lt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;/api/data?version&lt;span class="o"&gt;=&lt;/span&gt;v2
→ 200  &lt;span class="o"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"version"&lt;/span&gt;:&lt;span class="s2"&gt;"v2"&lt;/span&gt;,&lt;span class="s2"&gt;"data"&lt;/span&gt;:[...]&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="c"&gt;# Any other request → falls back to ANY response&lt;/span&gt;
curl https://api.requex.me/mock/&amp;lt;&lt;span class="nb"&gt;id&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;/api/data
→ 400  &lt;span class="o"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;"error"&lt;/span&gt;:&lt;span class="s2"&gt;"version parameter required"&lt;/span&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Operators you can use: &lt;code&gt;eq&lt;/code&gt;, &lt;code&gt;neq&lt;/code&gt;, &lt;code&gt;contains&lt;/code&gt;, &lt;code&gt;startsWith&lt;/code&gt;, &lt;code&gt;endsWith&lt;/code&gt;, &lt;code&gt;regex&lt;/code&gt;, &lt;code&gt;gt&lt;/code&gt;, &lt;code&gt;lt&lt;/code&gt;, &lt;code&gt;exists&lt;/code&gt;, &lt;code&gt;notExists&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Match mode is configurable: &lt;strong&gt;ALL&lt;/strong&gt; rules must pass, or &lt;strong&gt;ANY&lt;/strong&gt; rule must pass.&lt;/p&gt;




&lt;h3&gt;
  
  
  Auth enforcement
&lt;/h3&gt;

&lt;p&gt;If the real API requires auth, the mock should too. Otherwise auth bugs stay hidden until you're testing against production.&lt;/p&gt;

&lt;p&gt;Supported auth modes (server-wide, enforced before any route matching):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bearer Token&lt;/li&gt;
&lt;li&gt;API Key (header or query param)&lt;/li&gt;
&lt;li&gt;Basic Auth&lt;/li&gt;
&lt;li&gt;HMAC Signature&lt;/li&gt;
&lt;li&gt;Custom (match any header, query param, or JSON body path against an expected value)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All comparisons use &lt;code&gt;timingSafeEqual&lt;/code&gt; to avoid timing attacks. You can configure the failure status code (401 or 403) and an optional &lt;code&gt;WWW-Authenticate&lt;/code&gt; challenge header.&lt;/p&gt;




&lt;h3&gt;
  
  
  When a hosted mock is better than a local one
&lt;/h3&gt;

&lt;p&gt;Local mocks (Mockoon, json-server, etc.) are great when everything stays on your machine.&lt;/p&gt;

&lt;p&gt;A hosted mock earns its place when:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A teammate needs to hit the endpoint from their machine&lt;/li&gt;
&lt;li&gt;A CI pipeline needs a stable URL to run integration tests against&lt;/li&gt;
&lt;li&gt;A Postman collection is shared across the team&lt;/li&gt;
&lt;li&gt;An external webhook sender needs to POST to something real&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Try it
&lt;/h3&gt;

&lt;p&gt;Go to &lt;a href="https://requex.me" rel="noopener noreferrer"&gt;requex.me&lt;/a&gt;, sign in (free, takes about 10 seconds), and click &lt;strong&gt;Mock Servers&lt;/strong&gt;. You'll have a live HTTPS endpoint in under two minutes.&lt;/p&gt;

&lt;p&gt;Full feature docs: &lt;a href="https://requex.me/docs/mock-server" rel="noopener noreferrer"&gt;requex.me/docs/mock-server&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Curious what features people would find most useful next. Thinking about response sequences (return different responses on repeated calls to the same route) and OpenAPI import. What would actually be useful for your workflow?&lt;/p&gt;

</description>
      <category>api</category>
      <category>showdev</category>
      <category>tooling</category>
      <category>webdev</category>
    </item>
    <item>
      <title>A Free Webhook Tester That Doesn't Suck - Here's Why You'll Love It - Requex.me</title>
      <dc:creator>Shabbir Hasan</dc:creator>
      <pubDate>Fri, 27 Feb 2026 19:55:56 +0000</pubDate>
      <link>https://dev.to/shabbirhasan01/a-free-webhook-tester-that-doesnt-suck-heres-why-youll-love-it-requexme-567m</link>
      <guid>https://dev.to/shabbirhasan01/a-free-webhook-tester-that-doesnt-suck-heres-why-youll-love-it-requexme-567m</guid>
      <description>&lt;p&gt;TL;DR - I built &lt;a href="https://requex.me" rel="noopener noreferrer"&gt;Requex.me&lt;/a&gt;, A free webhook testing tool that's actually fast, simple, and powerful. No signup required. Try it and tell me what you think!&lt;/p&gt;

&lt;p&gt;The Problem&lt;br&gt;
Every time I needed to test a webhook, I'd dread the workflow:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create yet another account (why do I need to sign up for this?)&lt;/li&gt;
&lt;li&gt;Deal with slow, clunky interfaces&lt;/li&gt;
&lt;li&gt;Hope the free tier has enough requests&lt;/li&gt;
&lt;li&gt;Fumble through complicated setup
There's gotta be a better way, right?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Solution&lt;br&gt;
I built Requex.me - a webhook testing tool that just... works.&lt;/p&gt;

&lt;p&gt;No signup. No friction. Just test webhooks instantly.&lt;/p&gt;

&lt;h1&gt;
  
  
  Send a test webhook in 2 seconds flat
&lt;/h1&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -X POST https://api.requex.me/hook/your-unique-id \
  -H "Content-Type: application/json" \
  -d '{"event": "test", "message": "Hello!"}'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Your unique URL is ready the moment you hit the page.&lt;/p&gt;

&lt;p&gt;What Makes It Different&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;100% Free - No paywall, no limits, no account needed&lt;/li&gt;
&lt;li&gt;Real-time - See requests instantly via WebSocket (no refresh!)&lt;/li&gt;
&lt;li&gt;Advanced Testing - Simulate failures, delays, custom responses&lt;/li&gt;
&lt;li&gt;Private - Each endpoint uses secure UUIDs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My Favorite Features&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Simulate API Failures. Testing retry logic? Just return a 500 error and watch how the provider handles it.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Add Response Delays. Timeout testing? Add a 30-second delay and see what happens.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Inspect Everything. Headers, query params, JSON bodies - all in one clean interface.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Go to &lt;a href="https://requex.me" rel="noopener noreferrer"&gt;https://requex.me&lt;/a&gt; and start testing in literally 2 seconds.&lt;/p&gt;

&lt;p&gt;I'd love your feedback! What's missing? What could be better? Drop a comment below 👇&lt;/p&gt;

&lt;p&gt;#webdev #tools #programming #webhooks #api #developertools&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>devops</category>
      <category>showdev</category>
      <category>testing</category>
    </item>
  </channel>
</rss>
