Tim Emiola ce5dd73193 Merge pull request #743 from murgatroid99/node_status_errors 11 lat temu
..
examples b0028270e6 Fixed copyright format in some example files 11 lat temu
ext e4939830c0 Fixed reference to grpc_default_credentials_create 11 lat temu
interop 7d2adf0e11 Updated interop proto for compatibility with proto3 servers 11 lat temu
src 4075f2a0b6 Return error status as actual errors to client callbacks 11 lat temu
test dca966d39c Fixed lint errors 11 lat temu
.gitignore c4f0ebe63b Prepare for the new batch call API. 11 lat temu
.jshintrc dca966d39c Fixed lint errors 11 lat temu
README.md 06aef235e9 Update README.md 11 lat temu
binding.gyp 016bb50e76 Extension module now compiles and some tests pass 11 lat temu
index.js dca966d39c Fixed lint errors 11 lat temu
package.json 4d736a024c Resolved merge conflicts 11 lat temu

README.md

Node.js gRPC Library

Status

Alpha : Ready for early adopters

Installation

First, clone this repository (NPM package coming soon). Then follow the instructions in the INSTALL file in the root of the repository to install the C core library that this package depends on.

Then, simply run npm install in or referencing this directory.

Tests

To run the test suite, simply run npm test in the install location.

API

This library internally uses ProtoBuf.js, and some structures it exports match those exported by that library

If you require this module, you will get an object with the following members

function load(filename)

Takes a filename of a Protocol Buffer file, and returns an object representing the structure of the protocol buffer in the following way:

  • Namespaces become maps from the names of their direct members to those member objects
  • Service definitions become client constructors for clients for that service. They also have a service member that can be used for constructing servers.
  • Message definitions become Message constructors like those that ProtoBuf.js would create
  • Enum definitions become Enum objects like those that ProtoBuf.js would create
  • Anything else becomes the relevant reflection object that ProtoBuf.js would create

    function loadObject(reflectionObject)
    

Returns the same structure that load returns, but takes a reflection object from ProtoBuf.js instead of a file name.

function buildServer(serviceArray)

Takes an array of service objects and returns a constructor for a server that handles requests to all of those services.

status

An object mapping status names to status code numbers.

callError

An object mapping call error names to codes. This is primarily useful for tracking down certain kinds of internal errors.

Credentials

An object with factory methods for creating credential objects for clients.

ServerCredentials

An object with factory methods fro creating credential objects for servers.