hudson-taylor
Version:
Hudson Taylor is a set of libraries for making awesome microservices
57 lines (34 loc) • 2.12 kB
Markdown
hudson-taylor
=============
[](https://travis-ci.org/hudson-taylor/hudson-taylor)
[](https://coveralls.io/r/hudson-taylor/hudson-taylor?branch=master)
[](http://standardjs.com/)
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](CHANGELOG.md)
# Documentation
Please visit [https://hudson-taylor.github.io](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](https://github.com/hudson-taylor/ht-schema) instead.
## Utils
### Express Proxy
Proxy express requests to a particular service method.
See [ht-express](https://github.com/hudson-taylor/ht-express)
### ES7 Decorators
Provides helpful decorators for working with HT
See [ht-decorators](https://github.com/hudson-taylor/ht-decorators)