Skip to content
/ roy Public

Roy is a high-level library for consuming RESTful APIs.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

jaredforth/roy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Roy

A high-level library for consuming RESTful APIs.

Build Status Build status Crate API Crates.io GitHub top language Crates.io

Table of Contents

Documentation

Installation

Add this to your Cargo.toml:

[dependencies]
roy = "0.1"

Usage

To use any of the methods on the roy::Client struct, it has to be instantiated as follows:

// import into scope
use roy::Client;
// Instantiate `Client` with your API's base URL
let c = roy::Client::new("https://httpbin.org".to_string());  

All of the examples below assume that the struct has already been instantiated.

Quick Start

roy provides a high-level request function that can be used to quickly make requests. To make a

GET

c.get("/get", false); // Make a GET request to your endpoint

or

c.request("/get", roy::RequestMethod::GET, None); // Make GET request using alternate `request` function

POST

c.post("/post", "{some: data}"); // Make a POST request to your endpoint

or

c.request("/post", roy::RequestMethod::POST, Some("{}")); // Make POST request using alternate `request` function

PATCH

c.patch("/patch", "{some: data}"); // Make a PATCH request to your endpoint

or

c.request("/patch", roy::RequestMethod::PATCH, Some("{}")); // Make PATCH request using alternate `request` function

PUT

c.put("/put", "{some: data}"); // Make a PUT request to your endpoint

or

c.request("/put", roy::RequestMethod::PUT, Some("{}")); // Make PUT request using alternate `request` function

DELETE

c.delete("/delete"); // Make a DELETE request to your endpoint

or

c.request("/delete", roy::RequestMethod::DELETE, None); // Make DELETE request using alternate `request` function

License

Roy is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT, and COPYRIGHT for details.

Behind the Name

This crate is named after Roy Fielding, who defined Representational State Transfer. According to Wikipedia:

Roy Fielding defined REST in his 2000 PhD dissertation "Architectural Styles and the Design of Network-based Software Architectures" at UC Irvine. He developed the REST architectural style in parallel with HTTP 1.1 of 1996–1999, based on the existing design of HTTP 1.0 of 1996.

About

Roy is a high-level library for consuming RESTful APIs.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages