FeedHenry Messaging Server
JavaScript HTML Shell Other
Switch branches/tags
release-9.18.0-rc1 release-4.6.5-rc4 release-4.6.5-rc3 release-4.6.5-rc2 release-4.6.5-rc1 release-4.6.2 release-4.6.2-rc1 release-4.6.0 release-4.6.0-rc5 release-4.6.0-rc4 release-4.6.0-rc3 release-4.6.0-rc2 release-4.6.0-rc1 release-4.6.0-er1 release-4.5.1 release-4.5.1-rc2 release-4.5.1-rc1 release-4.5.0 release-4.5.0-rc7 release-4.5.0-rc6 release-4.5.0-rc5 release-4.5.0-rc4 release-4.5.0-rc3 release-4.5.0-rc2 release-4.5.0-rc1 release-4.3.0-rc1 release-3.20.4 release-3.20.4-rc1 release-3.20.3 release-3.20.3-rc3 release-3.20.3-rc2 release-3.20.3-rc1 release-3.20.2 release-3.20.2-rc2 release-3.20.2-rc1 release-3.20.1 release-3.20.0 release-3.20.0-rc3 release-3.20.0-rc2 release-3.20.0-rc1 release-3.19.2 release-3.19.2-rc1 release-3.19.1 release-3.19.1-rc2 release-3.19.1-rc1 release-3.19.0 release-3.19.0-rc5 release-3.19.0-rc4 release-3.19.0-rc3 release-3.19.0-rc2 release-3.19.0-rc1 release-3.18.3 release-3.18.2 release-3.18.2-rc1 release-3.18.1 release-3.18.1-rc1 release-3.18.0 release-3.18.0-rc5 release-3.18.0-rc4 release-3.18.0-rc3 release-3.18.0-rc2 release-3.18.0-rc1 release-3.17.3 release-3.17.3-rc1 release-3.17.2 release-3.17.2-rc2 release-3.17.2-rc1 release-3.17.1 release-3.17.1-rc1 release-3.17.0 release-3.17.0-rc6 release-3.17.0-rc5 release-3.17.0-rc4 release-3.17.0-rc3 release-3.17.0-rc2 release-3.17.0-rc1 release-3.16.5-rc1 release-3.16.4 release-3.16.4-rc1 release-3.16.3 release-3.16.3-rc1 release-3.16.2-rc1 release-3.16.1-rc1 release-3.16.0-rc7 release-3.16.0-rc6 release-3.16.0-rc5 release-3.16.0-rc4 release-3.16.0-rc3 release-3.16.0-rc2 release-3.16.0-rc1 release-3.15.0-rc1
Nothing to show
Clone or download
Failed to load latest commit information.


fh-messaging(1) -- The FeedHenry Message Server

Deprecation Notice

This repository has been deprecated for the 4.X since the Analytics feature will be not so long present in the future versions. If you have any questions, please get in touch with the collaborators.


This contains the 2 messaging components

  • fh-messaging

  • fh-metrics


This is the main messaging server which handles receiving messages and storing them in the database. It also has the scripts/commands for doing batch imports, and rollups for the metrics


This is the metrics server which handles serving metrics data to millicore. It has been seperated from fh-messaging, so that App Studio will not be affect by slowness or downtime of the messaging server

API endpoints


The express routes for fh-messaging are defined in ./fh-messaging/lib/fhsrv.js as per:

Route HTTP method Purpose
/ GET Returns all topics
/:topic GET Returns selected topic
/:topic/:md5id GET Returns a raw message based on its topic and unique hash
/:topic/:md5id HEAD Checks if the message with given hash exists
/:topic POST Creates a new topic
/daily POST Runs rollup process for the day (rollupHandler.run)
/receive/:level POST Stores the rolled-up data from mbaases (rollupHandler.storeByLevel)
/info/ping GET Returns service connectivity check result
/info/version GET Returns service version
/info/stats GET Returns service stats
/info/status GET Returns service status
/info/health GET Returns health check details (healthmonitor(config))


The express routes for fh-metrics are defined in ./fh-metrics/lib/fhmetricssrv.js as per:

Route HTTP method Purpose
/:level GET Returns the rolled-up data by level - apps, projects, domains, etc. (metricsHandler.byLevel)
/:metric POST Return metrics based on the query params in the request body
/info/ping GET Returns service connectivity check
/info/version GET Returns service version
/info/stats GET Returns service stats
/info/status GET Returns service status
/info/health GET Returns health check details (healthmonitor(config))


Individual component testing

Each component has there own test suite that runs tests on the components individually. see the individual components README's for more on this.

Acceptance tests

Run the acceptance test suite

Install whiskey https://github.com/cloudkick/whiskey

npm install -g whiskey

Install any other dependancies

npm install

Run the tests

npm test

Run a single test

whiskey --dependencies tests/dependencies.json --only-essential-dependencies --real-time --report-timing --tests tests/test_fhinit.js

IMPORTANT: Timezone must be IST currently for tests to work. IMPORTANT: Mongo Auth must not be enabled for tests to work.

Manual tests

Testing Cloud Reporting Manually

For instructions how to test cloud reporting manually, refer to fh-metrics/README.md.


fh-messaging & fh-metrics are licensed under the Apache License, Version 2.0.