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

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();