grpc-create-error
Utility function that creates an Error suitable for gRPC responses
![License](https://img.shields.io/github/license/bojand/grpc-create-error.svg?style=flat-square)
Related
grpc-error - GRPCError
class that uses this module
grpc status codes - The grpc status codes.
API
createGRPCError([message], [code], [metadata]) ⇒ Error
Utility function that creates an Error suitable for gRPC responses.
See tests for all examples
Kind: global function
Returns: Error
- The new Error
Param | Type | Description |
---|
[message] | String | Number | Error | Object | If String the error message If Number the error code If instanceof Error , the error to source data from. We still create a new Error instance, copy data from the passed error and assign / merge the rest of arguments. This can be used to mege metadata of existing error with additional metadata. If Object , assumed to be metadata, either plain object representation or actual grpc.Metadata instance. We use grpc-create-metadata module to create metadata for the return value. |
[code] | Number | Object | If Number the error code If Object , assumed to be metadata, either plain object representation or actual grpc.Metadata instance. We use grpc-create-metadata module to create metadata for the return value. |
[metadata] | Object | The error metadata. Either plain object representation or actual grpc.Metadata instance. We use grpc-create-metadata module to create metadata for the return value. |
Example (Using standard grpc status code)
const grpc = require('grpc')
const createGRPCError = require('create-grpc-error')
const err = createGRPCError('Ouch!', grpc.status.INVALID_ARGUMENT)
Example (Custom error with metadata)
const createGRPCError = require('create-grpc-error')
const err = createGRPCError('Boom', 2000, { ERROR_CODE: 'INVALID_TOKEN' })
console.log(err.message)
console.log(err.code)
console.log(err.metadata instanceof grpc.Metadata)
console.log(err.metadata.getMap())
Example (Source from error and merge metadatas)
const createGRPCError = require('create-grpc-error')
const existingError = new Error('Boom')
existingError.metadata = new grpc.Metadata()
existingError.metadata.add('foo', 'bar')
const err = createGRPCError(existingError, 2000, { ERROR_CODE: 'INVALID_TOKEN' })
console.log(err.message)
console.log(err.code)
console.log(err.metadata instanceof grpc.Metadata)
console.log(err.metadata.getMap())
applyCreate(err, message, code, metadata) ⇒ Error
Actual function that does all the work.
Same as createGRPCError but applies cretion to the existing error.
Kind: global function
Returns: Error
- See createGRPCError
description
Param | Type | Description |
---|
err | Error | The error to apply creation to |
message | String | Number | Error | Object | See createGRPCError description |
code | Number | Object | See createGRPCError description |
metadata | Object | See createGRPCError description |
License
Apache-2.0