README
extra-request
Utilities for Request.
Install
npm install --save extra-request
# or
yarn add extra-request
Usage
import { post } from 'extra-request'
import { url, json } from 'extra-request/lib/es2018/transformers'
const req = post(
url('http://example.com')
, json({ hello: 'world' })
)
const res = await fetch(req)
API
interface IHTTPOptions {
url?: URL
headers?: Headers
payload?: string | FormData
signal?: AbortSignal
}
type IHTTPOptionsTransformer = (options: IHTTPOptions) => HTTPOptions
get
function get(...transformers: Array<IHTTPOptionsTransformer | Falsy>): Request
head
function head(...transformers: Array<IHTTPOptionsTransformer | Falsy>: Request
post
function post(...transformers: Array<IHTTPOptionsTransformer | Falsy>): Request
put
function put(...transformers: Array<IHTTPOptionsTransformer | Falsy>): Request
patch
function patch(...transformers: Array<IHTTPOptionsTransformer | Falsy>): Request
del
function del(...transformers: Array<IHTTPOptionsTrransformer | Falsy>): Request
Transformers
url
function url(...urls: [string, ...string[]]): IHTTPOptionsTransformer
text
function text(payload: string): IHTTPOptionsTransformer
json
function json(payload: Json): IHTTPOptionsTransformer
csv
function csv<T extends object>(payload: T[]): IHTTPOptionsTransformer
signal
function signal(signal: AbortSignal): IHTTPOptionsTransformer
header
function header(name: string, value: string): IHTTPOptionsTransformer
appendHeader
function appendHeader(name: string, value: string): IHTTPOptionsTransformer
headers
function headers(headers: { [name: string]: string }): IHTTPOptionsTransformer
host
function host(host: string): IHTTPOptionsTransformer
port
function port(port: number): IHTTPOptionsTransformer
pathname
function pathname(pathname: string): IHTTPOptionsTransformer
search
function search(search: string): IHTTPOptionsTransformer
searchParam
function searchParam(
name: string
, value: string | number
): IHTTPOptionsTransformer
appendSearchParam
function appendSearchParam(
name: string
, value: string | number
): IHTTPOptionsTransformer
searchParams
function searchParams(
searchParams: { [name: string]: string | number }
): IHTTPOptionsTransformer
formDataField
function formDataField(
name: string
, value: string | string[] | Blob
): IHTTPOptionsTransformer
basicAuth
function basicAuth(username: string, password: string): IHTTPOptionsTransformer
bearerAuth
function bearerAuth(token: string): IHTTPOptionsTransformer
keepalive
function keepalive(val: boolean = true): IHTTPOptionsTransformer