Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

servie

Package Overview
Dependencies
Maintainers
1
Versions
47
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

servie

Standard HTTP interfaces for HTTP clients and servers in node.js and browsers

  • 4.0.2
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
64K
decreased by-17.84%
Maintainers
1
Weekly downloads
 
Created
Source

Servie

NPM version NPM downloads Build status Test coverage Bundle size

Standard, framework-agnostic HTTP interfaces for JavaScript servers and clients.

Installation

npm install servie --save

Usage

import { Body, Request, Response, Headers, AbortController } from "servie";

Servie is a universal package, meaning node.js and browsers are supported without needing configuration. This means the primary endpoint requires some dom types in TypeScript. When in a node.js, or browser, only environment, prefer importing servie/dist/{node,browser} instead.

Body

Base HTTP class shared between Request and Response.

new Body(body, headers);
Body

Supported body types, depending on environment:

  • Node.js - string | Buffer | ArrayBuffer | Readable | null | undefined
  • Browser - string | ArrayBuffer | ReadableStream | null | undefined
Properties and Methods
  • bodyUsed Boolean whether the body is consumed
  • rawBody Returns the raw body if not consumed
  • text() Returns the body as a Promise<string>
  • json() Returns the body with JSON.parse as Promise<any>
  • arrayBuffer() Returns the body as a Promise<ArrayBuffer>
  • clone() Clones an unconsumed body

Request

HTTP class for modelling a Request, extends Body.

new Request(input [, init]);
Input

A URL string or another Request instance to clone from.

Init
  • method? HTTP request method.
  • body? Any support body types.
  • signal? A signal from an AbortController.
  • headers? A map, list of tuples, or Header instance to initialize from.
  • trailer? A promise resolve to a support header initialization types (above).
Properties and Methods
  • url Requested url string
  • method Requested method string
  • signal Signal event emitter
  • headers A Header instance
  • trailer A Promise<Header> instance
  • clone() Clones the request into a new instance

Response

HTTP class for modelling a Response, extends Body.

new Response([body [, init]]);
Body

One of the support body types (above).

Init
  • status? The numeric HTTP response status code
  • statusText? The HTTP response status text
Properties and Methods
  • status The numeric HTTP response status code
  • statusText The HTTP response status text
  • ok Boolean indicates successful response (status between 200 and 299)
  • headers A Header instance
  • trailer A Promise<Header> instance
  • clone() Clones the response into a new instance

Headers

Map representation of HTTP headers.

new Headers([init]);
Init

Initialize headers from Iterable<HeaderTuple>, a HeadersObject or an existing Headers instance.

Methods
  • set(name: string, value: string | string[]): void Set a HTTP header by overriding case-insensitive headers of the same name
  • append(name: string, value: string | string[]): void Append a HTTP header
  • get(name: string): string | undefined Retrieve a case-insensitive HTTP header
  • getAll(name: string): string[] Retrieve a list of matching case-insensitive HTTP headers
  • has(name: string): boolean Check if a case-insensitive header is already set
  • delete(name: string): void Delete a case-insensitive header
  • asObject(): HeadersObject Return the lower-cased headers as a plain object
  • extend(obj: HeadersInit): this Extends the current headers with an object
  • keys() Iterable of the available header names
  • values() Iterable of header values
  • entries() Iterable of headers as [key, value]
  • clear() Clears the headers instance
  • clone() Clones the Headers instance

AbortController

Simple controller for aborting a Request instance.

new AbortController();
Properties and Methods
  • signal A Signal instance to pass to a Request instance
  • abort() Used to abort any listening requests through the signal

Implementation

If you're building the transports for Servie, there are some life cycle events you need to be aware of:

  1. Listen to the error event on signal for errors
  2. Listen to the abort event on signal to destroy the connection
  3. Resolve trailer promise and append to HTTP request or response
  4. There are some existing built-in type-safe events in SignalEvents you can support

JavaScript

This module is designed for ES2017 environments and published with TypeScript definitions on NPM.

License

Apache 2.0

Keywords

FAQs

Package last updated on 19 May 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc