<?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: HttpTracer</title>
    <description>The latest articles on DEV Community by HttpTracer (@httptracer).</description>
    <link>https://dev.to/httptracer</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%2F3671577%2F0d6df263-1544-4136-8b6a-6f3432a49763.png</url>
      <title>DEV Community: HttpTracer</title>
      <link>https://dev.to/httptracer</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/httptracer"/>
    <language>en</language>
    <item>
      <title>How to Use the RESTful API Features in HttpTracer</title>
      <dc:creator>HttpTracer</dc:creator>
      <pubDate>Tue, 23 Dec 2025 18:30:00 +0000</pubDate>
      <link>https://dev.to/httptracer/how-to-use-the-restful-api-features-in-httptracer-3p54</link>
      <guid>https://dev.to/httptracer/how-to-use-the-restful-api-features-in-httptracer-3p54</guid>
      <description>&lt;p&gt;&lt;a href="https://httptracer.com/" rel="noopener noreferrer"&gt;HttpTracer&lt;/a&gt; includes a powerful &lt;strong&gt;RESTful API Composer&lt;/strong&gt; that lets you craft and send custom HTTP requests directly from the app. Whether you're testing an API, replaying a captured request, or debugging a specific endpoint, the RESTful features give you full control over your HTTP traffic.&lt;/p&gt;

&lt;p&gt;In this post, we'll explore two key ways to use this feature:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The RESTful Page&lt;/strong&gt; – For building requests from scratch&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The RESTful API Tab in the Inspector Panel&lt;/strong&gt; – For replaying and modifying captured requests&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  1. The RESTful Page: Craft Requests From Scratch
&lt;/h2&gt;

&lt;p&gt;Navigate to the &lt;strong&gt;RESTful&lt;/strong&gt; page from the left sidebar. This is your workspace for building custom HTTP requests.&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%2F52p42iu9azpochb4fqaj.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%2F52p42iu9azpochb4fqaj.png" alt=" " width="800" height="552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting Up Your Request
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;URL and Method&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;At the top, you'll find the URL input field and a dropdown to select the HTTP method (GET, POST, PUT, PATCH, DELETE, etc.). Simply enter the endpoint you want to call.&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%2Fl73sp1kpo474ri9904l5.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%2Fl73sp1kpo474ri9904l5.png" alt=" " width="800" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Request Headers&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Switch to the &lt;strong&gt;Headers&lt;/strong&gt; tab to add custom headers. Each header has:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;checkbox&lt;/strong&gt; to enable/disable it&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Key&lt;/strong&gt; and &lt;strong&gt;Value&lt;/strong&gt; fields&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is useful for adding authentication tokens, content types, or any custom headers your API requires.&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%2F4he8a5j5we7mkslqtdoh.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%2F4he8a5j5we7mkslqtdoh.png" alt=" " width="800" height="562"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Query Parameters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Params&lt;/strong&gt; tab lets you add query string parameters. HttpTracer automatically appends these to your URL, so you don't need to manually construct query strings.&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%2Ffiz5grvjj9o1icvti8ot.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%2Ffiz5grvjj9o1icvti8ot.png" alt=" " width="800" height="290"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cookies&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Need to send cookies? The &lt;strong&gt;Cookies&lt;/strong&gt; tab provides a simple interface to add cookie key-value pairs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Request Body Options
&lt;/h3&gt;

&lt;p&gt;For POST, PUT, and PATCH requests, you can add a request body. HttpTracer supports multiple body types:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Body Type&lt;/th&gt;
&lt;th&gt;Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;None&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No body (typical for GET requests)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Form Data&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Multipart form data with file upload support&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;URL Encoded&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Standard form encoding (&lt;code&gt;application/x-www-form-urlencoded&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Raw&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;JSON, XML, HTML, JavaScript, or plain text&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Binary&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Upload binary files&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Raw Body Editor&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When using the &lt;strong&gt;Raw&lt;/strong&gt; body type, you get a full-featured code editor with syntax highlighting. Select the content type (JSON, XML, HTML, etc.) and HttpTracer will set the appropriate &lt;code&gt;Content-Type&lt;/code&gt; header.&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%2Fd1xl5rrkegxtiwzlwlyo.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%2Fd1xl5rrkegxtiwzlwlyo.png" alt=" " width="800" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Form Data with File Uploads&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Form Data&lt;/strong&gt; option lets you add text fields or file uploads. This is perfect for testing file upload endpoints.&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%2F1ujjhsu3ibzl1g2auwkf.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%2F1ujjhsu3ibzl1g2auwkf.png" alt=" " width="800" height="470"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Sending the Request
&lt;/h3&gt;

&lt;p&gt;Click the &lt;strong&gt;Send&lt;/strong&gt; button to execute your request. The response appears in the right panel, showing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Status Code&lt;/strong&gt; and status message&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Response Headers&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Response Body&lt;/strong&gt; (formatted based on content type)&lt;/li&gt;
&lt;/ul&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%2Fa0kygpw2kazgk2nn9v17.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%2Fa0kygpw2kazgk2nn9v17.png" alt=" " width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  2. The RESTful API Tab in the Inspector Panel
&lt;/h2&gt;

&lt;p&gt;One of the most useful features is the ability to &lt;strong&gt;replay captured requests&lt;/strong&gt; directly. When you're inspecting network traffic, you can open any captured request in the RESTful composer.&lt;/p&gt;

&lt;h3&gt;
  
  
  How to Access It
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Capture traffic&lt;/strong&gt; as usual (enable the proxy and make requests)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Select a request&lt;/strong&gt; from the traffic list&lt;/li&gt;
&lt;li&gt;In the right panel, click the &lt;strong&gt;RESTful API&lt;/strong&gt; tab&lt;/li&gt;
&lt;/ol&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%2Fdjg2jjjbk7qh0ec6le6m.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%2Fdjg2jjjbk7qh0ec6le6m.png" alt=" " width="800" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What Gets Loaded
&lt;/h3&gt;

&lt;p&gt;When you open a captured request in the RESTful tab, HttpTracer automatically populates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The original &lt;strong&gt;URL&lt;/strong&gt; and &lt;strong&gt;HTTP method&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;All &lt;strong&gt;headers&lt;/strong&gt; from the captured request&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Query parameters&lt;/strong&gt; (parsed from the URL)&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;request body&lt;/strong&gt; (if present)&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;[!TIP]&lt;br&gt;
You can modify any of these values before resending. This is great for testing variations of an API call without manually reconstructing the entire request.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Opening in Full Composer
&lt;/h3&gt;

&lt;p&gt;If you need more space to work, click the &lt;strong&gt;expand icon&lt;/strong&gt; next to the "RESTful API" tab label. This opens the request in the full RESTful page with all its features.&lt;/p&gt;




&lt;h2&gt;
  
  
  Practical Use Cases
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Testing API Changes
&lt;/h3&gt;

&lt;p&gt;Made a change to your backend? Replay a captured request to verify the change works as expected.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Debugging Authentication Issues
&lt;/h3&gt;

&lt;p&gt;Captured a failing request? Modify the auth headers and resend to pinpoint the issue.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Exploring Third-Party APIs
&lt;/h3&gt;

&lt;p&gt;Capture a request from your app to a third-party API, then modify it to explore different parameters or endpoints.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Reproducing Bugs
&lt;/h3&gt;

&lt;p&gt;Found a bug? Capture the problematic request and replay it with variations to understand the exact conditions that trigger the issue.&lt;/p&gt;




&lt;h2&gt;
  
  
  Tips for Power Users
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Disable headers temporarily&lt;/strong&gt; – Use the checkboxes to toggle headers on/off without deleting them&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the response timing&lt;/strong&gt; – The Overview tab shows detailed timing information&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Look out for pseudo-headers&lt;/strong&gt; – HTTP/2 pseudo-headers (like &lt;code&gt;:method&lt;/code&gt;, &lt;code&gt;:path&lt;/code&gt;) are automatically disabled when replaying, as they're protocol-specific&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;The RESTful features in HttpTracer give you powerful tools for API development and debugging:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Location&lt;/th&gt;
&lt;th&gt;Best For&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;RESTful Page&lt;/td&gt;
&lt;td&gt;Left sidebar&lt;/td&gt;
&lt;td&gt;Building new requests from scratch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RESTful API Tab&lt;/td&gt;
&lt;td&gt;Inspector panel&lt;/td&gt;
&lt;td&gt;Replaying and modifying captured requests&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Combined with HttpTracer's traffic inspection capabilities, you have a complete toolkit for understanding and testing HTTP traffic.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Download &lt;a href="https://httptracer.com/" rel="noopener noreferrer"&gt;HttpTracer&lt;/a&gt; now!&lt;/em&gt;&lt;br&gt;
&lt;em&gt;Have questions or feedback? Let us know!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>postman</category>
      <category>postmanapi</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to Use the Rules Feature in HttpTracer</title>
      <dc:creator>HttpTracer</dc:creator>
      <pubDate>Sat, 20 Dec 2025 07:16:37 +0000</pubDate>
      <link>https://dev.to/httptracer/how-to-use-the-rules-feature-in-httptracer-58f7</link>
      <guid>https://dev.to/httptracer/how-to-use-the-rules-feature-in-httptracer-58f7</guid>
      <description>&lt;p&gt;The &lt;strong&gt;Rules&lt;/strong&gt; feature in HttpTracer is one of the most powerful tools for developers who want to intercept and modify network traffic on the fly. Whether you're debugging API responses, testing error handling, or simulating different server behaviors, Rules gives you full control over HTTP requests and responses.&lt;/p&gt;

&lt;p&gt;In this guide, we'll walk you through everything you need to know to get started with Rules.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Are Rules?
&lt;/h2&gt;

&lt;p&gt;Rules allow you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Match&lt;/strong&gt; specific network requests based on URL, method, headers, query parameters, and more&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modify requests&lt;/strong&gt; before they're sent to the server (change headers, query params, redirect to a different URL)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modify responses&lt;/strong&gt; before they reach your app (change status codes, headers, or even replace the entire response body)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is incredibly useful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🐛 &lt;strong&gt;Debugging&lt;/strong&gt;: Test how your app handles different API responses without changing server code&lt;/li&gt;
&lt;li&gt;🧪 &lt;strong&gt;Testing edge cases&lt;/strong&gt;: Simulate 500 errors, slow responses, or unexpected data&lt;/li&gt;
&lt;li&gt;🔄 &lt;strong&gt;Mocking APIs&lt;/strong&gt;: Return custom responses for endpoints that don't exist yet&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Getting Started with Rules
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Step 1: Open the Rules Editor
&lt;/h3&gt;

&lt;p&gt;Click on the &lt;strong&gt;Rules&lt;/strong&gt; tab in the sidebar to open the Rules Editor.&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%2Fd80pzx2z568vli37iv3k.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%2Fd80pzx2z568vli37iv3k.png" alt=" " width="800" height="555"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You'll see a three-panel interface:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Left Panel&lt;/strong&gt;: Rule Groups and Rules tree&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Center/Right Panel&lt;/strong&gt;: Rule configuration (Matchers and Actions)&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Step 2: Create a Rule Group
&lt;/h3&gt;

&lt;p&gt;Rules are organized into &lt;strong&gt;Groups&lt;/strong&gt; for better organization. Think of groups as folders for your rules.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click the &lt;strong&gt;"+ Group"&lt;/strong&gt; button in the left panel&lt;/li&gt;
&lt;li&gt;A new group called "New Group" will appear&lt;/li&gt;
&lt;li&gt;Double-click the group name to rename it (e.g., "API Debugging Rules")&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Step 3: Add a Rule
&lt;/h3&gt;

&lt;p&gt;With your group selected:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Click the &lt;strong&gt;"+ Rule"&lt;/strong&gt; button or right-click the group and select "Add Rule"&lt;/li&gt;
&lt;li&gt;A new rule called "New Rule" will be created&lt;/li&gt;
&lt;li&gt;Click on the rule to select it and start configuring&lt;/li&gt;
&lt;/ol&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%2Fjqlc70xzvxjln038m49v.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%2Fjqlc70xzvxjln038m49v.png" alt=" " width="800" height="528"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Configuring Your Rule
&lt;/h2&gt;

&lt;p&gt;Every rule has two main parts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Matchers&lt;/strong&gt; - Define WHICH requests/responses this rule applies to&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actions&lt;/strong&gt; - Define WHAT to do with matched traffic&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Matchers: Targeting Specific Traffic
&lt;/h3&gt;

&lt;p&gt;The Matchers section lets you specify which network requests should be affected by this rule.&lt;/p&gt;

&lt;h4&gt;
  
  
  Available Request Matchers:
&lt;/h4&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Matcher&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Method&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;HTTP method (GET, POST, etc.)&lt;/td&gt;
&lt;td&gt;Match only POST requests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Protocol&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;HTTP or HTTPS&lt;/td&gt;
&lt;td&gt;Match only HTTPS requests&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;URL&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Full URL matching&lt;/td&gt;
&lt;td&gt;Match &lt;code&gt;api.example.com/users&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Hostname&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Just the domain&lt;/td&gt;
&lt;td&gt;Match &lt;code&gt;api.example.com&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Path&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;URL path only&lt;/td&gt;
&lt;td&gt;Match &lt;code&gt;/api/v1/users&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Headers&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Request headers&lt;/td&gt;
&lt;td&gt;Match requests with &lt;code&gt;Authorization&lt;/code&gt; header&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Query Params&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;URL query parameters&lt;/td&gt;
&lt;td&gt;Match requests with &lt;code&gt;?debug=true&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  Matching Conditions:
&lt;/h4&gt;

&lt;p&gt;Each matcher supports different conditions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;equals&lt;/strong&gt; - Exact match&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;contains&lt;/strong&gt; - Partial match&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;starts-with&lt;/strong&gt; - Match beginning&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ends-with&lt;/strong&gt; - Match ending&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;regex&lt;/strong&gt; - Regular expression pattern&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;not-equals&lt;/strong&gt; - Inverse match&lt;/li&gt;
&lt;/ul&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%2Ffcabkimegvjn6ka1nh4f.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%2Ffcabkimegvjn6ka1nh4f.png" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: To match all GET requests to &lt;code&gt;api.example.com&lt;/code&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Set &lt;strong&gt;Method&lt;/strong&gt; to &lt;code&gt;GET&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Set &lt;strong&gt;Hostname&lt;/strong&gt; condition to &lt;code&gt;equals&lt;/code&gt; with value &lt;code&gt;api.example.com&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;




&lt;h3&gt;
  
  
  Actions: Modifying Traffic
&lt;/h3&gt;

&lt;p&gt;Once you've defined what traffic to match, you can specify what to do with it.&lt;/p&gt;

&lt;h4&gt;
  
  
  Modify Request Actions:
&lt;/h4&gt;

&lt;p&gt;Enable &lt;strong&gt;"Modify Request"&lt;/strong&gt; to change the request before it's sent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Change Method&lt;/strong&gt;: Switch GET to POST, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Change URL/Hostname/Path&lt;/strong&gt;: Redirect requests to different servers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add/Remove/Edit Headers&lt;/strong&gt;: Add authentication, modify content types&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add/Remove/Edit Query Params&lt;/strong&gt;: Inject or remove URL parameters&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Modify Response Actions:
&lt;/h4&gt;

&lt;p&gt;Enable &lt;strong&gt;"Modify Response"&lt;/strong&gt; to change the response before your app receives it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Change Status Code&lt;/strong&gt;: Return 200, 404, 500, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Add/Remove/Edit Headers&lt;/strong&gt;: Modify CORS headers, caching, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Override Body&lt;/strong&gt;: Return custom JSON, HTML, or load from a file&lt;/li&gt;
&lt;/ul&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%2Fyxfc6pe8w1qlvdww0wk0.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%2Fyxfc6pe8w1qlvdww0wk0.png" alt=" " width="800" height="464"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Practical Examples
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Example 1: Simulate an API Error
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;: Test how your app handles a 500 server error from &lt;code&gt;/api/users&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a new rule&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Matchers&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Path: &lt;code&gt;contains&lt;/code&gt; → &lt;code&gt;/api/users&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actions&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Enable "Modify Response"&lt;/li&gt;
&lt;li&gt;Set Status Code to &lt;code&gt;500&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Optionally set body to &lt;code&gt;{"error": "Internal Server Error"}&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now any request to &lt;code&gt;/api/users&lt;/code&gt; will return a 500 error!&lt;/p&gt;




&lt;h3&gt;
  
  
  Example 2: Add Debug Headers
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;: Add a custom header to all API requests&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a new rule&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Matchers&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Hostname: &lt;code&gt;contains&lt;/code&gt; → &lt;code&gt;api.&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actions&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Enable "Modify Request"&lt;/li&gt;
&lt;li&gt;Add Header: &lt;code&gt;X-Debug-Mode&lt;/code&gt; = &lt;code&gt;true&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;All requests to domains containing "api." will now include your debug header.&lt;/p&gt;




&lt;h3&gt;
  
  
  Example 3: Mock an API Response
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;: Return fake data for an endpoint that doesn't exist yet&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a new rule&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Matchers&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Path: &lt;code&gt;equals&lt;/code&gt; → &lt;code&gt;/api/v2/new-feature&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Actions&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;Enable "Modify Response"&lt;/li&gt;
&lt;li&gt;Set Status Code to &lt;code&gt;200&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Set Body to:
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"feature"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"enabled"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"data"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"item1"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"item2"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"item3"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Tips &amp;amp; Best Practices
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Use Rule Groups Effectively
&lt;/h3&gt;

&lt;p&gt;Organize your rules by project, feature, or purpose. You can enable/disable entire groups at once.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Toggle Rules On/Off
&lt;/h3&gt;

&lt;p&gt;Each rule has an active toggle. Disable rules you're not currently using without deleting them.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Use Regex for Complex Matching
&lt;/h3&gt;

&lt;p&gt;Need to match &lt;code&gt;/users/123&lt;/code&gt; and &lt;code&gt;/users/456&lt;/code&gt;? Use regex: &lt;code&gt;/users/\d+&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Test with Live Traffic
&lt;/h3&gt;

&lt;p&gt;Open the &lt;strong&gt;Live&lt;/strong&gt; panel alongside Rules to see your modifications in real-time.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Duplicate Rules
&lt;/h3&gt;

&lt;p&gt;Right-click a rule to duplicate it – great for creating variations of existing rules.&lt;/p&gt;




&lt;h2&gt;
  
  
  Troubleshooting
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Rule Not Working?
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Check if the rule is active&lt;/strong&gt; - Look for the toggle switch&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check if the group is active&lt;/strong&gt; - Groups can also be disabled&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verify your matchers&lt;/strong&gt; - Make sure the conditions actually match your traffic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the order&lt;/strong&gt; - Rules are processed in order; earlier rules take precedence&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Need More Power?
&lt;/h3&gt;

&lt;p&gt;Consider upgrading your plan to create more rule groups and rules per group.&lt;/p&gt;




&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;The Rules feature transforms HttpTracer from a simple traffic viewer into a powerful debugging and testing tool. By setting up the right matchers and actions, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Test error handling without changing server code&lt;/li&gt;
&lt;li&gt;✅ Mock APIs during development&lt;/li&gt;
&lt;li&gt;✅ Debug complex request/response flows&lt;/li&gt;
&lt;li&gt;✅ Simulate edge cases and rare scenarios&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Start with simple rules and gradually explore more advanced features like regex matching, header manipulation, and response body overrides.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Happy debugging with &lt;a href="https://httptracer.com" rel="noopener noreferrer"&gt;HttpTracer &lt;/a&gt;🚀&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tooling</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
