rescript-http

1.0.0 • Public • Published

rescript-http

A lightweight HTTP client library for ReScript, designed to be used immediately.

한국어

open Http

type page = {
  data: array<string>,
  page: int,
  limit: int,
  total: int,
}

let url = "..."

let page: result<page, int> =
  await url
  ->from_url
  ->set_params({"page": 1, "limit": 20})
  ->get

Overview

  • Based on JavaScript's Fetch API
  • Easily create query strings and bodies using the Object type.
  • Simple to use with Pipe (->).

Installation

npm install rescript-http

Then add rescript-http to bs-dependencies in your bsconfig.json.

{
  "bs-dependencies": ["rescript-http"],
  "bsc-flags": ["-open RescriptHttp"] // optional
}

Modules

from_url

Takes a URL and creates a Request object.

" ... " -> from_url

set_params

Takes an object and creates query strings.

" ... " -> from_url -> set_params({ "page": 1, "limit": 20 })

add_headers

Takes an object and creates headers.

" ... " -> from_url -> add_headers({ "Authorization": " ... " })

set_body

Takes an object and creates a body.

" ... " -> from_url -> set_body({ "name": " ... " })

get

Sends a request using the Request object and returns a JSON response.

let response:result<data,int> = await " ... " -> from_url -> get

post

Sends a request using the Request object and returns a JSON response.

let response:result<data,int> = await " ... " -> from_url -> post

put

Sends a request using the Request object and returns a JSON response.

let response:result<data,int> = await " ... " -> from_url -> put

patch

Sends a request using the Request object and returns a JSON response.

let response:result<data,int> = await " ... " -> from_url -> patch

delete

Sends a request using the Request object and returns a JSON response.

let response:result<data,int> = await " ... " -> from_url -> delete

use

Allows the use of middleware.

let logger_middleware = next => async request => {
    Console.log("request", request)
    await next(request)
}
" ... " -> from_url -> use(logger_middleware)

Package Sidebar

Install

npm i rescript-http

Weekly Downloads

16

Version

1.0.0

License

MIT

Unpacked Size

17.1 kB

Total Files

11

Last publish

Collaborators

  • lee-donghyun