All Projects → jonathanlloyd → rif

jonathanlloyd / rif

Licence: GPL-3.0 License
Power-user command-line tool for productive API developers

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to rif

http4s-good-practices
Collection of what I consider good practices in Http4s (WIP)
Stars: ✭ 74 (+335.29%)
Mutual labels:  http-client, restful-api
angular6-httpclient-example
Angular 6 HttpClient: Consume RESTful API Example
Stars: ✭ 38 (+123.53%)
Mutual labels:  http-client, restful-api
Python Simple Rest Client
Simple REST client for python 3.6+
Stars: ✭ 143 (+741.18%)
Mutual labels:  http-client, restful-api
magic-api-spring-boot-starter
magic-api的spring-boot-starter版本
Stars: ✭ 30 (+76.47%)
Mutual labels:  restful-api, http-api
fireREST
Python library for interacting with Cisco Firepower Management Center REST API
Stars: ✭ 47 (+176.47%)
Mutual labels:  restful-api
nanoFramework.WebServer
📦 Web server for nanoFramework packed with features: REST api using attributes, multithread requests, parameters in query URL, static files serving.
Stars: ✭ 15 (-11.76%)
Mutual labels:  restful-api
googlemaps-services
📍Ruby client library for Google Maps API Web Services
Stars: ✭ 14 (-17.65%)
Mutual labels:  http-client
gohttp
A simple to use golang http client
Stars: ✭ 47 (+176.47%)
Mutual labels:  http-client
mcuapi
🦸 Marvel Cinematic Universe API
Stars: ✭ 14 (-17.65%)
Mutual labels:  restful-api
xyz-hub
XYZ Hub is a RESTful web service for the access and management of geospatial data.
Stars: ✭ 43 (+152.94%)
Mutual labels:  restful-api
laravel8-passport-fcm-api
Live streaming gigs mobile app RESTful API endpoints
Stars: ✭ 13 (-23.53%)
Mutual labels:  restful-api
httpmate
Non-invasive, flexible and ultra-extendable http framework that offers you 3 modes of handling http requests - UseCase driven, low-level http and event-driven request handling, as well as a mix of those modes
Stars: ✭ 15 (-11.76%)
Mutual labels:  restful-api
phalanx
Phalanx is a cloud-native distributed search engine that provides endpoints through gRPC and traditional RESTful API.
Stars: ✭ 192 (+1029.41%)
Mutual labels:  restful-api
Odoo-REST-API
RESTful Web Service for interfacing with Odoo ERP
Stars: ✭ 33 (+94.12%)
Mutual labels:  restful-api
Taviloglu.Wrike.ApiClient
.NET Client for Wrike API
Stars: ✭ 24 (+41.18%)
Mutual labels:  http-client
minireq
A minimal request library for the browser
Stars: ✭ 42 (+147.06%)
Mutual labels:  http-client
go-axios
HTTP Request package for golang.
Stars: ✭ 29 (+70.59%)
Mutual labels:  http-client
http4s-dom
http4s, in a browser near you
Stars: ✭ 13 (-23.53%)
Mutual labels:  http-client
Redes
High-level network layer abstraction library written in Swift.
Stars: ✭ 16 (-5.88%)
Mutual labels:  http-client
re-frame-http-fx-alpha
A ClojureScript client library for HTTP requests. Provides a re-frame "effect handler" keyed :http
Stars: ✭ 37 (+117.65%)
Mutual labels:  http-client

RIF logo

Build Status Go Report Card GPL3 Licensed Download count

Website  |  Documentation  |  Download


Keep your Requests In Files.

RIF is a command-line tool that allows you to store repetitive and complex HTTP requests as files to make testing and interacting with HTTP APIs a breeze.

Quickstart

Making Your First Request

To get started, we will be making a simple GET request to httpbin.org/get. This endpoint returns the details of GET requests back to the client as JSON.

We will be passing in a URL parameter called message that is parameterised using RIFs variable templating feature.

Open your editor of choice and save the following file to your computer as gethttpbin.rif:

rif_version: 0
url: "http://httpbin.org/get?message=hello%20$(place)"
method: "GET"
variables:
  place:
    type: "string"
    default: "world"

Next, open your terminal in the same location and run RIF, passing in the file you just created:

$ rif ./gethttpbin.rif

If all goes well you should see something like the following:

{
  "args": {
    "message": "hello world"
  }, 
  "headers": {
    "Accept-Encoding": "gzip", 
    "Connection": "close", 
    "Host": "httpbin.org", 
    "User-Agent": "RIF/0.2.0"
  }, 
  "origin": "<YOUR IP ADDRESS>", 
  "url": "http://httpbin.org/get?message=hello world"
}

Variable Templating

Now let's use RIF's variable templating feature to override our welcome message. Paste the following command into your terminal:

$ rif ./gethttpbin.rif place=universe

You should now see that the response has changed:

{
  "args": {
    "message": "hello universe"
  }, 
  "headers": {
    "Accept-Encoding": "gzip", 
    "Connection": "close", 
    "Host": "httpbin.org", 
    "User-Agent": "RIF/0.2.0"
  }, 
  "origin": "<YOUR IP ADDRESS>", 
  "url": "http://httpbin.org/get?message=hello universe"
}

Congratulations! You have just made and executed your first .rif file!

Installation

Quick Install/Upgrade

MacOS (64bit)

To install/upgrade RIF on MacOS use the RIF brew tap:

brew install jonathanlloyd/rif/rif

Linux (64bit)

To install/upgrade RIF on a standard 64bit linux install, run the following in your shell:

curl -Lo rif.tar $(curl https://api.github.com/repos/jonathanlloyd/rif/releases/latest 2>/dev/null | grep -o http[^[:space:]]*linux_amd64\.tar\.gz) 2>/dev/null && tar -xf rif.tar rif && chmod +x rif && sudo mv rif /usr/local/bin/rif && rm ./rif.tar && rif --help && rif --version

Verifying Your Installation

To verify that you have installed RIF correctly, run the following command in your terminal:

$ rif --version

If RIF is correctly installed you should see the version and build number printed to the screen:

Version: <expected version number>
Build: <build number>

Manual Install (other platforms)

RIF is distributed as a single binary executable. To install it all you need to do is download the correct binary from the downloads page and put it somewhere in your path.

Supported Platforms

macOS

Download

  • If you are running a 64bit system:
    • rif_<version>_darwin_amd64.tar.gz
  • If you are running a 32bit system:
    • rif_<version>_darwin_386.tar.gz

Path

Extract the appropriate binary and add it to a directory in your path. We recommend that you put it in /user/local.

Linux

Download

  • If you are running a 64bit system:
    • rif_<version>_linux_amd64.tar.gz
  • If you are running a 32bit system:
    • rif_<version>_linux_386.tar.gz

Path

Extract the appropriate binary and add it to a directory in your path. We recommend that you put it in /usr/local/bin.

Windows

Download

  • If you are running a 64bit system:
    • rif_<version>_windows_amd64.tar.gz
  • If you are running a 32bit system:
    • rif_<version>_windows_386.tar.gz

Path

Extract the appropriate binary and add it to a directory in your path. We recommend that you put it in c:\RIF and add this directory to your path.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].