Socket
Socket
Sign inDemoInstall

iopa-http

Package Overview
Dependencies
14
Maintainers
1
Versions
35
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    iopa-http

API-first Hypertext Transfer Protocol (HTTP) transport for the Internet of Things (IoT), based on the Internet of Protocols Alliance (IOPA) specification


Version published
Weekly downloads
23
increased by228.57%
Maintainers
1
Install size
609 kB
Created
Weekly downloads
 

Readme

Source

IOPA
iopa-http

Build Status IOPA limerun

NPM

About

iopa-http is an API-First fabric for the Internet of Things (IoT) and for Microservices Container-Based Architectures (MCBA) based on the Internet of Protocols Alliance (IOPA) specification

It servers HTTP messages in standard IOPA format and allows existing middleware for Connect, Express and limerun projects to consume/send each mesage.

Written in native javascript for maximum performance and portability to constrained devices and services. If you prefer to use the core Node.js 'http' transport, then see the package iopa-http.

Status

Working Release

Includes:

Server Functions

  • HTTP/1.1 parser that matches full Node.js 'http' functions
  • Works over TCP, UDP and other IOPA transports
  • Pipelined requests and processing buffering
  • Optimized pure javascript parser with no expensive callouts to C
  • Optimized for both TCP and UDP transports with identical API

Client Functions

  • HTTP/1.1 formatter and response matcher
  • Works over TCP, UDP and other IOPA transports
  • Pipelined requests and response matching
  • Optimized for both TCP and UDP transports with identical API

Installation

npm install iopa-http

Usage

Simple Hello World Server and Client

const iopa = require('iopa')
  
const IopaTCP =  require('iopa-tcp'),
    IopaHTTP = require('iopa-http')
  
var app = new iopa.App();
app.use(IopaTCP);
app.use(IopaHTTP);

app.use(function (context, next) {
  context.response["iopa.Body"].end("<HTML><HEAD></HEAD><BODY>Hello World</BODY>");
  return next();
});

var server = app.createServer("tcp:");
server.listen()
  .then(function () {
      return server.connect("http://localhost:" + server["server.LocalPort"]);})
  .then(function(client) {
      return client.send("/", "GET");})
  .then(function (response) {
      response["iopa.Body"].pipe(process.stdout);
      server.close();
    });

Keywords

FAQs

Last updated on 05 Jul 2016

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc