Coder Social home page Coder Social logo

on-http's Introduction

on-http Build Status Code Climate Coverage Status

on-http is the HTTP server for RackHD

Copyright 2015-2016, EMC, Inc.

Installation

rm -rf node_modules
npm install
npm run apidoc
npm run taskdoc

Running

Note: requires MongoDB and RabbitMQ to be running to start correctly.

sudo node index.js

API References

The readthedocs shows API usage for 2.0 by default. Using api/current/ will use the 2.0 API by default. Functional differences between the 1.1 API and the 2.0 API are listed in readthedocs, however, the 1.1 API is officially deprecated.

Config

The fileService requires a "fileService" key which holds keys mapping backend strings to their individual config values; it requires at least "defaultBackend" to be among the backend keys. More strings may be added and mapped to injector strings in the fileSevice.injectorMap attribute.

Debugging/Profiling

To run in debug mode to debug routes and middleware:

sudo DEBUG=express:* node --debug index.js

If you're using Node v4 or greater you can use node-inspector to debug and profile from a GUI.

npm install node-inspector -g
node-inspector --preload=false &
sudo DEBUG=express:* node --debug-brk index.js

Note: do not use the node-debug command it doesn't work as well.

CI/Testing

To run tests from a developer console:

npm test

To run tests and get coverage for CI:

# verify hint/style
./node_modules/.bin/jshint -c .jshintrc --reporter=checkstyle lib index.js > checkstyle-result.xml || true
./node_modules/.bin/istanbul cover -x "**/spec/**" _mocha -- $(find spec -name '*-spec.js') -R xunit-file --require spec/helper.js
./node_modules/.bin/istanbul report cobertura
# if you want HTML reports locally
./node_modules/.bin/istanbul report html

Client Libraries

Instructions for how to generate client libraries (python, java, go) can be seen on the readthedocs

Building

Unversioned packages are built automatically from travis-ci and uploaded to bintray.com. Using this repository is detailed in the docs.

Build scripts are placed in the extra/ directory.

  • .travis.yml will call the appropriate scripts in extra/ to build an unversioned package.
  • extra/make-sysdeps.sh can be used to install system level packages in a Ubuntu system.
  • extra/make-cicd.sh will perform all the necessary build steps to generate a version package.

If you want to build your own versioned packages, you can use the Vagrantfile provided in extra/. Simply perform vagrant up and it will run all the necessary steps.

The resulting .deb packages will end up in deb/.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.