ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Http​Unit

by gaohuia ST3

Send http requests with sublime rather than tools like PostMan. Syntax hilight, Comment supported

Details

Installs

  • Total 311
  • Win 156
  • Mac 96
  • Linux 59
Feb 28 Feb 27 Feb 26 Feb 25 Feb 24 Feb 23 Feb 22 Feb 21 Feb 20 Feb 19 Feb 18 Feb 17 Feb 16 Feb 15 Feb 14 Feb 13 Feb 12 Feb 11 Feb 10 Feb 9 Feb 8 Feb 7 Feb 6 Feb 5 Feb 4 Feb 3 Feb 2 Feb 1 Jan 31 Jan 30 Jan 29 Jan 28 Jan 27 Jan 26 Jan 25 Jan 24 Jan 23 Jan 22 Jan 21 Jan 20 Jan 19 Jan 18 Jan 17 Jan 16 Jan 15
Windows 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Mac 0 0 1 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 0 0 0 0 0 0 0 0 0 0 1 0 0
Linux 0 0 0 0 0 0 0 0 0 0 0 1 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 0 0 0

Readme

Source
raw.​githubusercontent.​com

HttpUnit

An alternate of PostMan. No gui, but pretty easy to send http requests in sublime. We can find the Documentation here. Please report any issue here.

Features

  • The syntax is similar to HTTP protocol.
  • Comment supported.
  • Syntax hilight.

The Simplest Request

Create a file named with “test.req”, with content.

GET https://www.google.com/

Save, press Command+B or Ctrl+B to run to send the request.

Form Submission/File Upload

// lines begin with double slashes will be ignored
// post-example

// request line:
POST http://test.com/show_post.php

// [optional] query strings, will be added to the request line as the query string
act=login
controller=user

// [optional] options, used to control the behavious of `HttpUnit`
@timeout=1000
@header_in=1
@header_out=0

// [optional] http headers, will be added to the http header
Token: hello
Cookie: sessionid=anysessionid

// [optional] body
// The following "--" indicates the the beginning of request body
--

// Simple Kv
username: gaohuias
password: 123456


// File upload, values start with "@" will be considered as a file path
image: @/Users/tom/images/2114647.jpeg
--

// The "--" above indicates the ending of a request
// The subquent requests can begin from here.

Post JSON/Raw Data

// post-raw/json

// Request Line:
POST http://test.com/show_post.php

// indicts the content type, it's optional
Content-Type: application/json

// [optional] body
// The "--raw" indicates the beginning of the body too. But the content will be put in the http body without any changes.
--raw
{
    "username" : "gaohuia"
}
--

Config File

You can build a config file named requester.json under the project directory, and put any options in it, which will be applied to all requests under the project automatically.

Example:

{
    "header_in" : 0,
    "header_out" : 0
}

Valid options

  • @timeout The maximum number of milliseconds to allow cURL functions to execute. Default: unlimited
  • @header_in 0/1 to control the output of the response header. Default: 1.
  • @header_out 0/1 to control the output of the request header. Default: 1.
  • @auth Auth method to use, valid values: basic, digest.
  • @userpwd User && Pass to use, in format of “user:pass”.

Dependencies

  • PHP 7.0+

HOT KEYS

Just press Command+B (For Mac) or Ctrl+B (For Win) to run your script.

Install

The simplest way to install HttpUnit would be through the Package Control.

  1. Press Command+Shift+P, type int “Install Package” and press Enter.
  2. Type in “Http Unit” and press Enter.
  3. That is all you need to do. Enjoy!

Alternative Way:

Press Ctrl+ Copy the following code, parst and press enter.

import urllib.request,os,hashlib,tempfile,zipfile,shutil; version = "1.2.0"; name = "HttpUnit"; url = "https://github.com/gaohuia/HttpUnit/archive/v%s.zip" % (version); pp = sublime.packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen(url).read(); io = tempfile.TemporaryFile(); io.write(by); temp_dir = tempfile.gettempdir(); z = zipfile.ZipFile(io); z.extractall(temp_dir); shutil.copytree(temp_dir + "/" + name + "-" + version, pp + "/" + name); io.close();