hudson-taylor

Hudson Taylor is a set of libraries for making awesome microservices

Usage no npm install needed!

<script type="module">
  import hudsonTaylor from 'https://cdn.skypack.dev/hudson-taylor';
</script>

README

hudson-taylor

Build Status Coverage Status js-standard-style

Hudson Taylor is a set of libraries for building automatically documented, well validated services.

HT is comprised of a server library for providing services with well documented and defined APIs with validation, and client libraries for calling services over a number of transports, HTTP, Websocket, TCP or in-process.

All service methods (should) have a schema that lets you dictate the type of data you want, so you can be sure of what you're receiving. This has the added benefit of being able to automatically generate documentation for these methods.

See Changelog here

Documentation

Please visit https://hudson-taylor.github.io

Details

Methods of communicating between services

One of the nice things about HT is that you can connect to a service via methods without having to change your service code in any way.

Hudson-Taylor is bundled with a couple of low-level transports such as:

  • TCP: uses long-lived TCP sockets for communication between client & server
  • HTTP: uses HTTP requests
  • Local: in-process transport that communicates internally between client & server

Custom transports can be implemented easily, see /lib/transports/http.js for a documented example.

Schemas

Hudson-Taylors schema library is no longer bundled directly, see ht-schema instead.

Utils

Express Proxy

Proxy express requests to a particular service method.

See ht-express

ES7 Decorators

Provides helpful decorators for working with HT

See ht-decorators