Skip to content

jimmystridh/httpbloke

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HTTP Bloke

HTTP Bloke

A no-nonsense HTTP client for VS Code
Browse, edit, and execute .http files without leaving your editor

VS Code 1.84+ MIT License

HTTP Bloke Screenshot


HTTP Bloke turns your .http files into a proper API workbench. It scans your workspace, builds a navigable tree of requests, and lets you fire them from a rich panel with editable headers, query params, and body — all without context-switching away from your code.

Features

  • Tree View Explorer — All .http files in your workspace, organized by folder
  • Rich Request Panel — Edit method, URL, headers, body. See responses with syntax highlighting
  • Variables — Define with @var = value, use anywhere with {{var}}
  • Response Chaining — Reference previous responses: {{login.response.body.token}}
  • Drag & Drop — Reorder requests within a file
  • Pin Requests — Keep favorites at the top
  • No CORS Issues — Requests run from Node, not the browser

Quick Start

git clone https://github.com/yourname/httpbloke.git
cd httpbloke
npm install
npm run compile

Press F5 in VS Code to launch the extension.

Usage

Basic .http File

# @name My API Collection
# Useful endpoints for the Example API

@baseUrl = https://api.example.com
@token = your-api-token

### List Users
GET {{baseUrl}}/users
Authorization: Bearer {{token}}

### Create User
# @name createUser
POST {{baseUrl}}/users
Content-Type: application/json

{
  "name": "John Doe",
  "email": "john@example.com"
}

### Get New User
GET {{baseUrl}}/users/{{createUser.response.body.id}}
Authorization: Bearer {{token}}

File Format

Syntax Purpose
# @name Title File display name (first line)
# comment File/request description
@var = value Variable definition
### Request separator
# @name alias Request alias (for chaining)
{{var}} Variable substitution

Response Chaining

Name a request with # @name alias, then reference its response:

### Login
# @name auth
POST {{baseUrl}}/login
Content-Type: application/json

{"user": "admin", "pass": "secret"}

### Use Token
GET {{baseUrl}}/protected
Authorization: Bearer {{auth.response.body.token}}

Available properties:

  • {{alias.response.status}} — Status code
  • {{alias.response.body.path.to.field}} — JSON field
  • {{alias.response.headers.content-type}} — Header value

Tree View

  • Click request → Open in panel
  • Right-click → Context menu (pin, open source, etc.)
  • Drag & drop → Reorder (when sorted by file order)
  • Right-click file → Edit variables, change sort order

Keyboard Shortcuts (in panel)

Shortcut Action
Cmd/Ctrl + Enter Send request
Alt + P Pretty-print JSON body
Alt + 1-5 Switch tabs

Configuration

{
  "httpbloke.additionalRoots": [
    "/path/to/more/http/files"
  ]
}

Scan folders outside your workspace for .http files.

Commands

Command Description
HTTP Bloke: Refresh Tree Rescan for .http files
HTTP Bloke: Open Request Open request in panel
HTTP Bloke: Open Source Jump to source file
HTTP Bloke: Pin Request Pin to top of file
HTTP Bloke: Sort by File Order Natural document order
HTTP Bloke: Sort Alphabetically A-Z sorting
HTTP Bloke: Edit File Variables Manage variables

Development

npm install          # Install dependencies
npm run compile      # Build once
npm run watch        # Watch mode
npm test             # Run tests

The repo includes .vscode/launch.json for debugging. Press F5 to launch.

License

MIT


Made for developers who'd rather stay in their editor

About

A no-nonsense HTTP client for VS Code — browse, edit, and execute .http files without leaving your editor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors