Powerful, modern HTTP/REST client built on top of the Requests library
Permalink
Failed to load latest commit information.
assets Myriad style improvements, docs looking good now Sep 18, 2017
commands Bug fix in import from cURL; prepares for 2.27.1 Oct 9, 2018
core Adds parsing prepared requests; prepares for 2.29.0 Nov 14, 2018
docs Adds parsing prepared requests; prepares for 2.29.0 Nov 14, 2018
messages Adds parsing prepared requests; prepares for 2.29.0 Nov 14, 2018
syntax Updated symbol transformation Oct 15, 2017
tests Adds parsing prepared requests; prepares for 2.29.0 Nov 14, 2018
.flake8 More intelligent parsing of content length for downloaded files, prep… May 31, 2018
.gitignore Reorganized files in docs, Jekyll doesn't serve anything that's no pa… Sep 17, 2017
.sublimelinterrc Executing request from history should not automatically overwrite req… Jun 26, 2017
.travis.yml Finished Travis tests for error messages, correct request ordering, s… Aug 29, 2017
CONTRIBUTING.md Single requests that don't start at the first character of a line can… Oct 31, 2018
Context.sublime-menu Improved syntax highlighting for response views with no valid content… Aug 4, 2017
Default (OSX).sublime-keymap Working on syncing current state of Requester view with response view… Oct 5, 2017
Default.sublime-commands Bug fixes, refactors use of Lock, prepares for 2.22.0 release Oct 30, 2017
Default.sublime-keymap Allows user to delete request from history, from staging view Oct 30, 2017
ISSUE_TEMPLATE.md Big improvements to saving requests back to requester file, added iss… Oct 7, 2017
LICENSE Added LICENSE, and created separate keymap for Linux and Windows to e… May 10, 2017
Main.sublime-menu "scheme" is an editable setting Jul 25, 2017
README.md Support any cursor position on multiline requests Mar 21, 2018
Requester.sublime-settings Added setting to limit max length of response tabs, made sure save bi… Oct 6, 2017
__init__.py Reorganized so that command files, and syntax files, each have their … Aug 2, 2017
dependencies.json Added jsonschema dependency, testing for cookies_schema, json_schema … Jun 6, 2017
messages.json More intelligent parsing of content length for downloaded files, prep… May 31, 2018
requester.py Reorganized so that command files, and syntax files, each have their … Aug 2, 2017
requirements.txt Adds parsing prepared requests; prepares for 2.29.0 Nov 14, 2018
unittesting.json Started writing integration tests that use the excellent UnitTesting … May 16, 2017

README.md

Requester: HTTP Client for Humans

License Build Status Coverage Status Join the chat at https://gitter.im/kylebebak/Requester

Requester is a modern, team-oriented HTTP client for Sublime Text 3 that combines features of apps like Postman, Paw and HTTPie with rock-solid usability and the secret sauce of Requests. 🌟


If you're looking for an HTTP client you should try Requester even if you've never used Sublime Text.

Installation

  1. Download and install Sublime Text 3.
  2. Install Package Control for Sublime Text.
  3. Open the command palette shift+cmd+p and type Package Control: Install Package.
  4. Search for Requester (not Http Requester) and install it.
  5. If you're seeing errors every time you run a request, this probably means the requests dependency wasn't installed successfully. To fix this, look for Package Control: Satisfy Dependencies in the command palette, run it, and restart Sublime Text.

Getting Started

Open the interactive tutorial in Sublime Text! Look for Requester: Show Tutorial in the command palette.

Or, open a file and insert the following.

requests.get('https://jsonplaceholder.typicode.com/albums')
requests.post('https://jsonplaceholder.typicode.com/albums')

get('https://jsonplaceholder.typicode.com/posts')  # 'requests.' prefix is optional
post('jsonplaceholder.typicode.com/posts')  # as is the URL scheme

Place your cursor on one of the lines and hit ctrl+alt+r (ctrl+r on macOS). Or, look for Requester: Run Requests in the command palette shift+cmd+p and hit Enter. A response tab will appear, with a name like GET: /albums.

Head to the response tab and check out the response. Hit ctrl+alt+r or ctrl+r (ctrl+r or cmd+r on macOS) to replay the request. You can edit the request, which is at the top of the file, before replaying it.

Now, go back to the requester file and highlight all 5 lines, and once again execute the requests. Nice, huh?

Multiline Requests, Request Body, Query Params

post(
    'httpbin.org/post',
    json={'name': 'Jimbo', 'age': 35, 'married': False, 'hobbies': ['wiki', 'pedia']}
)

get(
    'httpbin.org/get',
    params={'key1': 'value1', 'key2': 'value2'}
)

Body, Query Params, and Headers are passed to requests as dictionaries. And for executing requests defined over multiple lines, you have two options:

  • fully highlight one or more requests and execute them
  • place your cursor inside of a request and execute it

Try it out.

Documentation

Wanna see everything else Requester does? Detailed, fuzzy searchable documentation here.

Why Requester?

Requester combines features from applications like Postman, Paw, Insomnia and HTTPie with the elegance and power of Requests and rock-solid UX of Sublime Text.

Requester leans on Requests as much as possible. This means Requester does most anything Requests does, which means it does most anything you need to explore, debug, and test a modern API.

It also means Requester uses an extensively documented, battle-tested library famed for its beauty. If you don't know how to do something with Requester, there are thousands of blog posts, articles and answers on Stack Overflow that explain how to do it.

Apart from being feature-rich, Requester is built for speed and simplicity. I was a Postman user before writing Requester, and I got tired of, for example, having to click in 4 places to add or change an env var. With Requester you might have to move your cursor up a few lines.

Request navigation and history, which use Sublime Text's blistering fast fuzzy match, are especially powerful. Jump between requests and request groups in your requester file. Hop between open response tabs. Find the exact version of a request you executed a week ago. It's all lightning fast.

The paid collaboration features of HTTP client apps, such as sharing and versioning, are not only free in Requester, they're better. Requester works with text files, and as good as the developers at Postman and Paw are, they don't beat GitHub at collaboration, and they don't beat Git at version control.

Need to share requests with someone who doesn't use Requester? Exporting your requests to cURL or HTTPie takes a few seconds. Ditto with importing requests from cURL, which means it's trivial to grab AJAX requests sent by your browser and pull them into Requester.

Requester is cross-platform and built for teams. If you debug web APIs for work or for fun, try it. Try it even if you don't use Sublime Text. You'll have to switch between two text editors, but you already have to switch between your editor and your HTTP client, and I'm betting you'll like Requester more.

Requester