DEV Community

sahaabhishek
sahaabhishek

Posted on

Meet httpOwl: Run HTTP Requests From Any Webpage

If you use httpYac or the IntelliJ .http format, you've probably run into this situation: someone shares a request example in a GitHub issue, a wiki page, or a PR description. To test it, you copy-paste into cURL or open your IDE.

httpOwl eliminates that step. It's a browser extension that detects httpYac-format request blocks on any webpage and lets you run them inline.

How it works

  1. Open any page containing .http format blocks — GitHub blob views, Confluence docs, internal wikis, raw files
  2. httpOwl auto-detects them and places small pill buttons next to each request
  3. Click → the request fires through the extension's service worker (no CORS issues)
  4. Results appear inline: status code, response time, assertion pass/fail
  5. Click again to open a detail overlay with full request/response headers and body

Features

  • Auto-detection — parses ###-separated blocks from <pre>, <code>, <textarea> elements
  • Heading+code strategy — handles Confluence/wikis where ### renders as HTML headings
  • Inline pill buttons — subtle glass UI with states: idle, running, success, error
  • Assertion engine — evaluates ?? lines client-side: status == 200, body.items isArray, header content-type includes json, duration checks, regex, etc.
  • Detail overlay — full request/response with JSON pretty-printing and copy-as-cURL
  • Side panel — request list with HTTP method filtering, multi-select run, environment variables
  • HTML report — download a self-contained dark-themed report after running requests
  • CORS bypass — fetches originate from the extension, not the page

Variable system

# $shared
API_KEY=abc123
BASE_URL=https://api.example.com

# dev
BASE_URL=https://dev.api.example.com
TOKEN=dev-token
Enter fullscreen mode Exit fullscreen mode

Variables with {{KEY}} syntax are substituted in URL, headers, and body. Requests with unresolved variables are visibly muted and disabled until you define them.

Technical stack

  • Manifest V3
  • TypeScript + Vite
  • Playwright for screenshot/icon generation
  • Shadow DOM for UI isolation

Open source

MIT licensed. Contributions welcome.

Chrome Web Store: (Edge support coming soon)
httpOwl Extension

GitHub: https://github.com/ovsec/httpyac-browser

httpYac: https://httpyac.github.io

Top comments (0)