Skip to content
This repository has been archived by the owner on Apr 20, 2018. It is now read-only.

Service method hooks for easy authorization and processing

License

Notifications You must be signed in to change notification settings

feathersjs-ecosystem/feathers-hooks

Repository files navigation

Feathers Hooks

Important: feathers-hooks is included in Feathers (@feathersjs/feathers) v3 and later and does not have to be loaded and configured separately anymore.

Greenkeeper badge

Build Status Code Climate Test Coverage Dependency Status Download Status Slack Status

Middleware for Feathers service methods

Documentation

Please refer to the Feathers hooks documentation for more details on:

  • The philosophy behind hooks
  • How you can use hooks
  • How you can chain hooks using Promises
  • Params that are available in hooks
  • Hooks that are bundled with feathers and feathers plugins

Quick start

feathers-hooks allows to register composable middleware functions when a Feathers service method executes. This makes it easy to decouple things like authorization and pre- or post processing and error handling from your service logic.

To install from npm, run:

$ npm install feathers-hooks --save

Then, to use the plugin in your Feathers app:

const feathers = require('feathers');
const hooks = require('feathers-hooks');

const app = feathers().configure(hooks());

Then, you can register a hook for a service:

// User service
const service = require('feathers-memory');

module.exports = function(){
  const app = this;

  let myHook = function(options) {
    return 
  }

  // Initialize our service
  app.use('/users', service());

  // Get our initialize service to that we can bind hooks
  const userService = app.service('/users');

  // Set up our before hook
  userService.hooks({
    before(hook){
      console.log('My custom before hook ran!');
    }
  });
}

License

Copyright (c) 2016 Feathers contributors

Licensed under the MIT license.