Request
Make HTTP requests from Sublime Text
Details
Installs
- Total 10K
- Win 7K
- Mac 2K
- Linux 682
Oct 1 | Sep 30 | Sep 29 | Sep 28 | Sep 27 | Sep 26 | Sep 25 | Sep 24 | Sep 23 | Sep 22 | Sep 21 | Sep 20 | Sep 19 | Sep 18 | Sep 17 | Sep 16 | Sep 15 | Sep 14 | Sep 13 | Sep 12 | Sep 11 | Sep 10 | Sep 9 | Sep 8 | Sep 7 | Sep 6 | Sep 5 | Sep 4 | Sep 3 | Sep 2 | Sep 1 | Aug 31 | Aug 30 | Aug 29 | Aug 28 | Aug 27 | Aug 26 | Aug 25 | Aug 24 | Aug 23 | Aug 22 | Aug 21 | Aug 20 | Aug 19 | Aug 18 | Aug 17 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 2 | 2 | 1 | 1 | 2 | 1 | 1 | 2 | 1 | 1 | 1 | 1 | 4 | 1 | 1 | 3 | 2 | 2 | 1 | 1 | 1 | 0 | 6 | 2 | 2 | 2 | 1 | 0 | 0 | 0 | 3 | 1 | 1 | 1 | 1 | 5 | 1 | 2 | 2 | 3 | 3 | 0 | 1 | 2 | 4 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 2 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 0 |
Readme
- Source
- raw.githubusercontent.com
sublime-request
Make HTTP requests from Sublime Text.
Attach to the request
command via your keyboard shortcuts or add a custom command pallete to hook into.
Getting started
Installation
This package is available under Request
inside of Package Control, a Sublime Text plugin that allows for easy management of other plugins.
If you prefer the manual route, you can install the script via the following command in the Sublime Text terminal (ctrl+`
) which utilizes git clone
.
import os; path=sublime.packages_path(); (os.makedirs(path) if not os.path.exists(path) else None); window.run_command('exec', {'cmd': ['git', 'clone', 'https://github.com/twolfson/sublime-request', 'request'], 'working_dir': path})
Packages can be uninstalled via “Package Control: Remove Package” via the command pallete, ctrl+shift+p
on Windows/Linux, command+shift+p
on Mac.
Working with the plugin
By default, no keyboards shortcuts or commands are added to the command pallete.
You are left to add in your own custom features since typing out HTTP parameters every time is tedious.
To add your own custom keyboard shortcut:
- Open the command pallete,
ctrl+shift+p
on Windows/Linux,command+shift+p
on Mac - Navigate to “Preferences: Key Bindings - User”
- Inside of the top level
[]
, add the following code
{
"keys": ["alt+x"],
"command": "request",
"args": {
"open_args": ["http://google.com/"],
"save_to_clipboard": true
}
}
You now have alt+x
bound to download http://google.com/ to your clipboard.
Documentation
sublime-request
is written on top of Python's urllib2
library (urllib in Sublime Text 3). We accept the following parameters:
open_args
- List of arguments to pass tourllib2.urlopen
/urllib.request.urlopen
open_kwargs
- Dictionary of keyword arguments to pass tourllib2.urlopen
/urllib.request.urlopen
read_args
- List of arguments to pass torequest.read
read_kwargs
- Dictionary of keyword arguments to pass torequest.read
save_to_clipboard
- Copies result fromread
to clipboard
I don't know Python
This is a fact of life. Rather than creating a meta language to be just as simple, I will show you some commmon examples to draw from.
Using open “js {"open_args”: [url, data, timeout]}
// Make GET request to google.com // url = http://google.com/ {“open_args”: [“http://google.com/”]}
// Make POST request to google.com. Switches to POST when data is included // url = http://google.com/, data = “some=data” {“open_args”: [“http://google.com”, “some=data”]}
**Using read**
```js
{"read_args": [buffer_length]}
// Read all of response from request
// buffer_length = null (None in Python)
{"open_args": ["http://google.com/"]}
// Read first 100 bytes of response
// buffer_length = 100
{"open_args": ["http://google.com"], "read_args": [100]}
Examples
Ping a server
Ping a server via a key binding (requests http://localhost:3000/
when alt+x
is pressed.
{
"keys": ["alt+x"],
"command": "request",
"args": {
"open_args": ["http://localhost:3000/"]
}
}
Grab some Lorem Ipsum
Copy the first 100 characters of Lorem Ipsum to your clipboard via a key binding, alt+x
.
{
"keys": ["alt+x"],
"command": "request",
"args": {
"open_args": ["http://loripsum.net/api/plaintext"],
"read_args": [100],
"save_to_clipboard": true
}
}
FAQ
I want to see the results of my request.
Sublime Text comes default with an exec
command which runs CLI commands in a panel. There are no official docs to my knowledge but you can find the source code via Command Pallete -> Browse Packages -> Default/exec.py@class ExecCommand
.
Here is a key binding that runs curl
to http://google.com/.
{
"keys": ["alt+x"],
"command": "exec",
"args": {
"cmd": ["curl", "http://google.com/"]
}
}
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 219 100 219 0 0 2565 0 --:--:-- --:--:-- --:--:-- 5918
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
[Finished in 0.1s]
Donating
Support this project and others by twolfson via gittip.
License
Copyright © 2013 Todd Wolfson
Licensed under the MIT license.