{"_id":"pulsar-rest-api","_rev":"50-684b406d0c2e8a052cae4b364fd73779","name":"pulsar-rest-api","time":{"modified":"2022-06-25T00:56:24.681Z","created":"2014-01-30T23:46:49.883Z","0.0.1":"2014-01-30T23:46:49.883Z","0.0.2":"2014-02-04T23:10:23.282Z","0.0.3":"2014-08-28T20:51:31.513Z","0.1.0":"2014-11-03T11:10:01.754Z","0.1.1":"2014-11-14T09:47:29.435Z","0.1.2":"2014-11-27T07:20:56.490Z","0.1.3":"2014-11-27T08:11:18.740Z","0.1.4":"2014-12-05T16:49:09.228Z","0.1.5":"2015-02-05T13:27:01.728Z","0.2.0":"2015-02-06T13:28:54.659Z","0.2.1":"2015-02-06T16:27:58.471Z","0.3.0":"2015-02-20T10:32:09.832Z","0.3.1":"2015-03-03T06:12:06.228Z","0.3.2":"2015-03-09T10:06:23.818Z","0.4.0":"2015-03-26T12:50:54.659Z","0.4.2":"2015-06-12T14:31:49.947Z","0.5.0":"2015-08-11T10:38:54.624Z","0.5.1":"2015-12-09T10:39:29.045Z","0.5.2":"2015-12-17T07:50:53.682Z","0.6.0":"2017-09-25T14:34:50.515Z","0.6.1":"2017-09-25T15:50:02.331Z"},"maintainers":[{"email":"daniel.londero@gmail.com","name":"dlondero"},{"email":"tech@cargomedia.ch","name":"cargomedia-old"},{"email":"reto@retokaiser.com","name":"njam"},{"email":"philipp.pfaff@cargomedia.ch","name":"ppp0"}],"dist-tags":{"latest":"0.6.1"},"description":"REST API for executing Pulsar tasks.","readme":"[![Build Status](https://travis-ci.org/cargomedia/pulsar-rest-api.png?branch=master)](https://travis-ci.org/cargomedia/pulsar-rest-api)\n\npulsar-rest-api\n===============\n\n## About\nHTTP REST API for executing [pulsar](https://github.com/nebulab/pulsar) jobs.\n\n### Install\nPackage is in nodejs and is available through npm registry:\n```\nnpm install pulsar-rest-api [-g]\n```\n\n### Run\n#### Prepare valid config.\nThe instance of pulsar-rest-api can be run with different options. All of the options can be specified in the config. To run the instance with your own config you need to specify the filepath to it with the flag `-c`. For example `pulsar-rest-api -c '~/my_pulsar_config.yaml'`.\n\nThe default config is [`config.yaml`](bin/config.yaml) and it can be found in `bin` directory of the pulsar-rest-api installation.\n\nPlease read carefully through the format of the config below. The options that are marked as required must be present in your config otherwise the instance won't start. There are no options that have default value. All values should be clearly defined.\n\n- `port`: required. Port where server listens for requests.\n- `logPath`: required. A file path where to write logs. Includes filename of the log. Can be absolute or relative.\n- `mongodb`: mongoDB connection parameters\n  - `host`: required. hostname\n  - `port`: required. port\n  - `db`: required. database name. Now there is only one collection 'jobs' will be used.\n- `pulsar`:\n  - `repo`: optional. Pulsar configuration repository. If omitted then the [pulsar rules](https://github.com/nebulab/pulsar#loading-the-repository) are applied.\n  - `branch`: optional. Branch of pulsar configuration repository. If omitted then the [pulsar rules](https://github.com/nebulab/pulsar#loading-the-repository) are applied.\n- `authentication`: optional. Authentication. Only if presented it should have its required options to be filled, otherwise no need to fill `authentication.githubOauthId` and etc.\n  - `githubOauthId`: required. Github OAuth Application ID.\n  - `githubOauthSecret`: required. Github OAuth Application Secret.\n  - `githubOrg`: required. Github organization. User needs to be member of that organization to get access to the interface of pulsar-rest-api.\n  - `baseUrl`: required. URL where the pulsar-rest-api instance would have its web interface.\n  - `authorization`: optional. Authorization. If you use an organization in this section, you should consider the restriction that only the users with public access in the organization would have the corresponding role of the organization. To remove this restriction the Pulsar-Rest-Api would require a `user` scope for the user's Github account which is too much. For more information read https://developer.github.com/v3/orgs/. Also the current role model does not have any inheritance or any other relation in it. That means if user has the `write` role, he is still forbidden to the actions that require the `read` role. So, for solving this you need to mention user in the both roles descriptions.\n    - `read`: required. Github users or organizations that have the read role.\n    - `write`: required. Github users or organizations that have the write role.\n- `ssl`: optional. Only if presented it should have its required options to be filled, otherwise no need to fill `ssl.key` and etc.\n  - `key`: required if `pfx` isn't presented. Ssl private key file. Combine with `cert` option.\n  - `cert`: required if `pfx` isn't presented. Ssl public certificate file. Combine with `key` option. Append CA-chain within this file.\n  - `pfx`: required if `key` or `cert` options aren't presented. Ssl pfx file (key + cert). Overrides `key` and `cert` options.\n  - `passphrase`: optional. File containing the ssl passphrase.\n\n##### Github OAuth App setup.\n  - Go to https://github.com/settings/applications/new.\n  - There is going to be a form. Fill it up. For example here is the values that I've used on my local setup:\n    - `Application name` = pulsar-rest-api\n    - `Homepage URL` = https://localhost:8001. That value should be the same as `authentication.baseUrl` from the config.\n    - `Application description`. It's optional. You can leave it empty.\n    - `Authorization callback URL`. It's optional. You can leave it empty and it will be the same as `Homepage URL`.\n  - Submit them and you will receive `Client ID` and `Client Secret` which are `githubOauthId` and `githubOauthSecret` correspondingly. \n\n##### Authorization setup.\nThe authorization model is separate from the logic. Because of that if you want to have authorization for some url endpoint, you need to set an authorization rule separately from the url. Those rules can be set only as the parameter-function `restrictions` of `authentication.installHandlers`.\nFor example, Pulsar-Rest-Api has a 'Create Job' url endpoint `/:app/:env`. If you want to restrict this action to the `write` role then you need to have the next call to `authentication.installHandlers`:\n```js\n  authentication.installHandlers(app, function restrictions(authorization) {\n    router.post('/:app/:env', authorization.restrictTo('write'));\n  });\n```\nThe parameter-function `restrictions` has the instance of Authorization module as its only argument.\n\n#### Running as standalone service\n`pulsar-rest-api -c 'your_config.yaml'`. After that web interface should be browsable through 'localhost:`{config.port}`' or url defined in `authentication.baseUrl` if `authentication` is enabled.\n\n#### with docker-compose\n```\ndocker-compose up pulsar-rest-api\n```\nIt spins up the mongodb and pulsar-rest-api containers.\n\nIn development, you can mount the repository as a volume (remember to install npm dependencies locally before)\n```\nnpm install\ndocker-compose run --volume $(pwd):/opt/pulsar-rest-api pulsar-rest-api\n```\n\n### Tests\n\n#### Auto tests\n```\ndocker-compose run --volume $(pwd):/opt/pulsar-rest-api pulsar-rest-api ./bin/test.sh [mocha-options...]\n```\n\n#### Manual tests\nTo see how API is working you need to run its instance and open `http[s]://localhost:{port}` to see its web interface where `port` must be defined in your config and you may have an `https` prefix if you have `ssl` in the config. Further in examples below we will use a simple endpoint `http://localhost:8001`.\n\nTo create a job, type in console:\n`curl -H \"Content-Type: application/json\" -X POST -d '{\"task\":\"dummy:my_sleep\"}' http://localhost:8001/example/production`\nYou can see the result in the web interface. Do not forget that you will need these `application`, `environment` and `task` to be present in your pulsar configuration.\n\n## API documentation\nShortnames that are used below:\n`:app` - application name (e.g. example)\n`:env` - environment name (e.g. production)\n`:task` - capistrano task\n`:id` - pulsar job ID\n\n### Get job list\n\n#### Request:\n`GET /jobs?currentPage=:currentPage&pageSize=:pageSize`\n\n`:currentPage` - number of page of job list to fetch. Possible values: `Number`. Default: `0`.\n`:pageSize` - number of jobs per page. Possible values: `Number`. Default: `10`.\n#### Response on success:\nHTTP response code `200`\n```\n{[{Job}, {Job}, ...]}\n```\nSee the description of `{Job}` at [getJobData](#get-job-data) operation below.\n\n### Create Job\n\n#### Request:\n```\nPOST /:app/:env\ndata:\n{\n   \":task\": \"<string>\",\n   \"wait\": \"<boolean>\",\n   \"taskVariables\": {Object.<string, string>}\n}\n\n```\n\n`wait` - does request wait for the job's end. Possible values: `true/false`. Default: `false`.\n\n`taskVariables` - capistrano task options. Optional. These options will be used as `-s` options of capistrano. Possible values: `json object` where keys and values are strings or objects that are convertible to string.\n\n\n#### Response on success:\nHTTP response code `200`\n```json\n{\n  \"id\": \"123\",\n  \"url\": \"http://localhost:8001/web#job/532c3240f8214f0000177376\"\n}\n```\n\nIn case of `wait=true` the job's data will be returned:\n```json\n{\n  \"id\": 123,\n  \"url\": \"http://localhost:8001/web#job/532c3240f8214f0000177376\",\n  \"data\": {\n    \"id\": 123,\n    \"status\": \"failed\",\n    \"app\": \"fuboo\",\n    \"env\": \"production\",\n    \"task\": \"shell\",\n    \"exitCode\": null,\n    \"stdout\": \"stdout of pulsar job's process\",\n    \"output\": \"stdout + stderr of pulsar job's process\",\n    \"pid\": 48691\n  }\n}\n```\n\n### Get job data\n\n#### Request:\n`GET /job/:id`\n\n#### Response on success:\nHTTP response code `200`\n```json\n{\n  \"id\": 123,\n  \"status\": \"failed\",\n  \"app\": \"fuboo\",\n  \"env\": \"production\",\n  \"task\": \"shell\",\n  \"exitCode\": null,\n  \"stdout\": \"stdout of pulsar job's process\",\n  \"output\": \"stdout + stderr of pulsar job's process\",\n  \"pid\": 48691\n}\n```\n\n### Kill job\n\n#### Request\n`GET /job/:id/kill`\n\n#### Response\nHTTP response code `200`\n\n### WebSocket API\nBesides a rest and a web interface the instance of pulsar-rest-api also offers a web socket interface. The interface is available under the web interface with suffix `/websocket`. For our example above it would be `http://locahost:8001/websocket`. Currently the websocket interface doesn't expect any incoming messages and only transmits events about jobs' lifecycle.\n\n#### Job was created\n`{message: {event: 'job.create', job: {Object}}}`\n\n#### Job was changed\n`{message: {event: 'job.change', job: {Object}}}`\n\n## Authentication\nTo enable authentication of API you need to provide config option `authentication`. All users of API should remember that besides of your authentication with Github, you also need to be a member of Github organization that was defined in `authentication.githubOrg` of config.\n\n  - #### Web client\n  If you interact with API through the web interface then you will need to follow standard [Github Web Application Flow](https://developer.github.com/v3/oauth/#web-application-flow) procedure.\n  If everything is ok then you will be able to interact with web interface of API.\n\n  - #### Rest API\n  If you want to access API directly, for example through the `curl` tool, then you need to provide your Github basic token with every request.\n  If you don't have one then you can get it here https://github.com/settings/tokens/new. After that you can use API like this:\n  `curl -u {github-token}:x-oauth-basic -H \"Content-Type: application/json\" -X POST -d '{\"task\":\"dummy:my_sleep\"}' https://localhost:8001/example/production`\n\n  - #### Websocket\n  When socket client gets connected it needs to send authentication information as its first message. There are two options available:\n   * Github OAuth token. It is the same token as you would use in Rest API `curl` command.\n    ```js\n      sock.onopen = function() {\n        sock.send(JSON.stringify({\n          token: 'put your Github token here'\n        }));\n      };\n    ```\n   * Cookie\n    This option is available only if you are using websocket in pair with web interface. When web interface gets successful authentication it receives\n    a `userid` cookie which you can send instead of Github token.\n    ```js\n      sock.onopen = function() {\n        sock.send(JSON.stringify({\n          cookie: $.cookie('userid')\n        }));\n      };\n    ```\n   If token was wrong, connection will be closed, otherwise it will start to receive messages.\n\n\n## Release\n   \n1. update package.json with a new version\n2. release a new git tag with the updated package.json\n\nAfter that the npm release should be done automatically by [Travis](https://travis-ci.org/cargomedia/pulsar-rest-api). \nAlternatively, you can publish it manually:\n```\nnpm publish\n```   \n","versions":{"0.1.3":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.1.3","author":{"name":"Cargomedia"},"license":"MIT","main":"pulsar-rest-api.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git@github.com:cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"mocha"},"dependencies":{"async":"~0.9","underscore":"1.5.1","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4"},"homepage":"https://github.com/cargomedia/pulsar-rest-api","_id":"pulsar-rest-api@0.1.3","_shasum":"1b38a300760abfc13afad1bedd8c75537bb534ad","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.1.3.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.1.3.tar.gz","_npmVersion":"2.1.6","_nodeVersion":"0.10.33","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"}],"dist":{"shasum":"1b38a300760abfc13afad1bedd8c75537bb534ad","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.1.3.tgz","integrity":"sha512-fb0wUmxx0YcCUYzDmCjJn7TVRXQ1XEW0KWGLttkhmcxKZzG7GdtODs+7kibyEV0xEQi8P1xRsUNVx2ppwiA85w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBOmL0ZphfinUxPiy7O9h8AhsAmClP1f3jCeCIoiQi22AiEAvvi4U+7r4tnMe21s5CLZP5vMGRChZwKsVBhj59U6Cpw="}]},"directories":{}},"0.1.4":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.1.4","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git@github.com:cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"mocha"},"dependencies":{"async":"~0.9","underscore":"1.5.1","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4"},"homepage":"https://github.com/cargomedia/pulsar-rest-api","_id":"pulsar-rest-api@0.1.4","_shasum":"6ab89041bb4edc5ddbabad69a4723349960af2a4","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.1.4.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.1.4.tar.gz","_npmVersion":"2.1.6","_nodeVersion":"0.10.33","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"dist":{"shasum":"6ab89041bb4edc5ddbabad69a4723349960af2a4","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.1.4.tgz","integrity":"sha512-NKA9kvKDMG6zxi26yLZpqUwCy6byw/oaXinISqCS0jIRFqc3xkegX4v+dlGMde0kcneeJfi1p+IrFIBanXUOsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYuhO8lM5Jz7X5j6cFcMf/c188g/NDFVauuowNvdSKKwIhAM3vmhlotgpmY4Q1e5WYSN4LM59QXNOQPSCo0JnXTb7r"}]},"directories":{}},"0.1.5":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.1.5","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git@github.com:cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"mocha"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4"},"gitHead":"149cbde63dce9c9f4038d94f65bf96dc08b2665a","homepage":"https://github.com/cargomedia/pulsar-rest-api","_id":"pulsar-rest-api@0.1.5","_shasum":"4c352f7f86b262c3d4bb95ba229c6a94c05ece91","_from":".","_npmVersion":"1.4.13","_npmUser":{"name":"tomaszdurka","email":"tomasz@durka.pl"},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"dist":{"shasum":"4c352f7f86b262c3d4bb95ba229c6a94c05ece91","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.1.5.tgz","integrity":"sha512-bA0WpuR+yw7bI+iDbpLBe/HzSVtdF5b/NfNqT1kkZe2tvU9u9VAaRPt1KT3HO4TTN3CMtZXKQ8oOubaKkRm74A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC81X6+8mEayfpEIbR6DeaITz1c1SqYhZvKr/HAkp5G1AiEA3zq2temgWNq9xiz9VLM4ZhYPEZ7tNSC3Bo/tb7fsRVA="}]},"directories":{}},"0.2.0":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.2.0","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git@github.com:cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"mocha"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4"},"homepage":"https://github.com/cargomedia/pulsar-rest-api","_id":"pulsar-rest-api@0.2.0","_shasum":"6798eaee8c414aa61c5536e4736563ae865970ff","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.2.0.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.2.0.tar.gz","_npmVersion":"2.3.0","_nodeVersion":"0.10.36","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"dist":{"shasum":"6798eaee8c414aa61c5536e4736563ae865970ff","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.2.0.tgz","integrity":"sha512-W6A2Gf+PfeFfZbTJdIb50chaR/DtaVAk5izrZnF+luclV7WYImPuohk8LQO3YtWsySFQyNeUW47lpjBrr+eb5A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGQsODfAbfg6tsr1N3ZOSYmHejTKfIodgCGloxVL4ckwAiEAk/3C7bjWU79NghGdP3HSy0vf4y2n3WuBlXR+YEWf87Y="}]},"directories":{}},"0.2.1":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.2.1","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git@github.com:cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"mocha"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4"},"homepage":"https://github.com/cargomedia/pulsar-rest-api","_id":"pulsar-rest-api@0.2.1","_shasum":"cbd8a2bcf4613c6c78ae6a94ff4c44f32e564620","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.2.1.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.2.1.tar.gz","_npmVersion":"2.3.0","_nodeVersion":"0.10.36","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"dist":{"shasum":"cbd8a2bcf4613c6c78ae6a94ff4c44f32e564620","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.2.1.tgz","integrity":"sha512-TKfo8auK21A4KgHmourfZWMdbNghESxCfowPqAf4niALJM5rm5OO1/MR5qO97+9z68HzTI2QUo627/ZzFYuEGQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAk1xIe4kSKMf9UIQPaj6iotbnnDhDE917+CvAIR6vePAiEArky2gImdVjrEeFi6DIxAkQQG/nrxINVbnDQI67eT7h0="}]},"directories":{}},"0.3.0":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.3.0","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git@github.com:cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"mocha"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4"},"homepage":"https://github.com/cargomedia/pulsar-rest-api","_id":"pulsar-rest-api@0.3.0","_shasum":"3e4e93a67fe47b7836b383c03a384a883d05a9fe","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.3.0.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.3.0.tar.gz","_npmVersion":"2.3.0","_nodeVersion":"0.10.36","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"dist":{"shasum":"3e4e93a67fe47b7836b383c03a384a883d05a9fe","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.3.0.tgz","integrity":"sha512-2dUfHEF+1bX8wr2VL62W7Zjdv+XpSiubPX9rjQX4WIxYEFKuTbhdMAntBRonTJ5oO2yL16QLKC4rhQOifvBRIA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICeeR0hhMOV+deFKzXQeNKsOWtA3lkqczDDJheyguHdkAiEAtMr7kNUIyXnAffOjjDfKSOnyUkgIfxSVv/nrp+sZIHM="}]},"directories":{}},"0.3.1":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.3.1","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git@github.com:cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"node test/runner.js"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4","walk":"~2.3.9"},"homepage":"https://github.com/cargomedia/pulsar-rest-api","_id":"pulsar-rest-api@0.3.1","_shasum":"53670217668b88497dc89ebb678c81674b9d9171","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.3.1.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.3.1.tar.gz","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"dist":{"shasum":"53670217668b88497dc89ebb678c81674b9d9171","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.3.1.tgz","integrity":"sha512-HhHmNEx48HoT/GWI4Br4HLJktxUv9ugVxlnjhbJw0iYwmIpZJtVwLXjhsf+Wk9JRs5tpEkWU8D/gvZD8Hs7HjA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD57QCe9CsjYVV0ECvmJHiey9EZ1dP8awYPvOmsoscUWAIgeEh3FTilxA2SgyQcVxgZIIQdH5ks7Kys786VtrXBqT0="}]},"directories":{}},"0.3.2":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.3.2","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git@github.com:cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"node test/runner.js"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4","walk":"~2.3.9"},"homepage":"https://github.com/cargomedia/pulsar-rest-api","_id":"pulsar-rest-api@0.3.2","_shasum":"2952454c16a87f1977321a702b06f43864d4a442","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.3.2.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.3.2.tar.gz","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"dist":{"shasum":"2952454c16a87f1977321a702b06f43864d4a442","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.3.2.tgz","integrity":"sha512-RTff7Q4gGyTxhY1eMreKim8zjrUe6o05ZTV3BI1llQEDp33W7eOCVKQwrV/Srl8MSg5C2Cz2a6gsM5WBuKdamg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCwizYDwMY31Lhjr2UCHljiLrXqksfF/ZXrRe/6TryuvwIgAe57zl/hdbNMSdbbNAGOMzUQ17mw4zkCy77We+BjOME="}]},"directories":{}},"0.4.0":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.4.0","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git@github.com:cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"node test/runner.js","test-data-fixture":"node test/dataFixture.js"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4","walk":"~2.3.9"},"homepage":"https://github.com/cargomedia/pulsar-rest-api","_id":"pulsar-rest-api@0.4.0","_shasum":"22c0b0366629d5eb9eca69e5e66ba19727373234","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.4.0.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.4.0.tar.gz","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"dist":{"shasum":"22c0b0366629d5eb9eca69e5e66ba19727373234","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.4.0.tgz","integrity":"sha512-kjZ4S7eGFeefvUv9llQlaFFJhGRBBEXIYnt2tkqws+Ju6wqkFCbmnjge6Xzkk4HNRsOBxnD0vVc5FLHoJ1lQUg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBaMfSX2HDNlm9JHfwQXOJW0IqVPBKE8TMgYiF/c4QaAAiAgkSQXRnXfr32IhWgsaLjxTwuGfXZq0sW/ajNoWHU+ZQ=="}]},"directories":{}},"0.4.2":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.4.2","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git+ssh://git@github.com/cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"node test/runner.js","test-data-fixture":"node test/dataFixture.js"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","request":"~2.57","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4","walk":"~2.3.9"},"homepage":"https://github.com/cargomedia/pulsar-rest-api#readme","_id":"pulsar-rest-api@0.4.2","_shasum":"fbd9f53bf3ba582d0199c8722d5a89e4a060f0c5","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.4.2.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.4.2.tar.gz","_npmVersion":"2.10.0","_nodeVersion":"0.12.2","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"dist":{"shasum":"fbd9f53bf3ba582d0199c8722d5a89e4a060f0c5","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.4.2.tgz","integrity":"sha512-7WVcg8K1mnQJnMWP/GWbX/Kr6lP2/14PiKreP1CLdoJHa1Fx8+vTuajNZbzOWz6NybR2AE+XIe2u4M+zUQN+MQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC2HU0w8dt9ZKOPs9HDQ5PqfBT5iiKTqeE7L5PkbanDMAiEAqGS8mjr9fbjXg7e2HZrTuMA+WxaVlaaiTGIxJxIxtCo="}]},"directories":{}},"0.5.0":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.5.0","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git+ssh://git@github.com/cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"node test/runner.js","test-data-fixture":"node test/dataFixture.js"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","request":"~2.57","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4","walk":"~2.3.9"},"homepage":"https://github.com/cargomedia/pulsar-rest-api#readme","_id":"pulsar-rest-api@0.5.0","_shasum":"e3d6e385c3dc65534523f3829413ae3beb09394f","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.5.0.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.5.0.tar.gz","_npmVersion":"2.12.1","_nodeVersion":"0.12.7","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"dist":{"shasum":"e3d6e385c3dc65534523f3829413ae3beb09394f","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.5.0.tgz","integrity":"sha512-dMUjatUoGiJhrRg1BEE32hztbRHysnL9KQseNB9l5PHAtt9jPGbupt8yTf4S/OMiechCe27b7HfKUeM/VC6VXg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDj5dVFo2Ab7MI1gcaQhZgMczGN2vXSeBxU6kGBkBe6YwIgXoIscTUzGQWWbPiua57Cjs7TMAc5uLShmLyn/E9sMko="}]},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"directories":{}},"0.5.1":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.5.1","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git+ssh://git@github.com/cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"node test/runner.js","test-data-fixture":"node test/dataFixture.js"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","request":"~2.57","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4","walk":"~2.3.9"},"homepage":"https://github.com/cargomedia/pulsar-rest-api#readme","_id":"pulsar-rest-api@0.5.1","_shasum":"ad039a977d5a42bbbaf3c3aeb34992822a814eb3","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.5.1.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.5.1.tar.gz","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"dist":{"shasum":"ad039a977d5a42bbbaf3c3aeb34992822a814eb3","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.5.1.tgz","integrity":"sha512-EAS8wDZrRHcg3Rx8hmk5Nlx2EA+Uxm+s+IgkpGZ7JQX+ZbYTCBpCNZFd2hokgj9aJx51/0NavMaQTivb41NEGw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFow+N/cBwW57C+PGiGXCjtdmrVnUSg20bfqU+1txI+uAiBUfmLVl5Znq1bJYo0n33VUz7GaG9DTHsQ85rvuszsE9w=="}]},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"directories":{}},"0.5.2":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.5.2","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git+ssh://git@github.com/cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"node test/runner.js","test-data-fixture":"node test/dataFixture.js"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~1.4.8","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","request":"~2.57","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~1.9.1","mocha":"~1.21.4","walk":"~2.3.9"},"homepage":"https://github.com/cargomedia/pulsar-rest-api#readme","_id":"pulsar-rest-api@0.5.2","_shasum":"52167d780364fb96648be48f77c14585dcb75acd","_resolved":"https://github.com/cargomedia/pulsar-rest-api/archive/0.5.2.tar.gz","_from":"https://github.com/cargomedia/pulsar-rest-api/archive/0.5.2.tar.gz","_npmVersion":"3.3.12","_nodeVersion":"5.1.1","_npmUser":{"name":"vogdb","email":"vozhdb@gmail.com"},"dist":{"shasum":"52167d780364fb96648be48f77c14585dcb75acd","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.5.2.tgz","integrity":"sha512-cDXJ9FcYWcKIyj6zabK3xb1RTfSbIS9W9Nun7zOvE2LkAEjsDEkgRWGukSp+1fgX9RsLWCU3rqn9hQWA+d8L3w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICw2QDuV8u/wSU4bMGCLaDVA+tXiWUk/iY/RDAYXI1WBAiBfZiFJCM6hAA0v0XWDJgqtYSwRW+CzC1VTU/uq81TcyQ=="}]},"maintainers":[{"name":"vogdb","email":"vozhdb@gmail.com"},{"name":"cargomedia","email":"tech@cargomedia.ch"},{"name":"kris-stasiak","email":"me@krzysztof-stasiak.com"},{"name":"tomaszdurka","email":"tomasz@durka.pl"}],"directories":{}},"0.6.0":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.6.0","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git+ssh://git@github.com/cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"node test/runner.js","test-data-fixture":"node test/dataFixture.js"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~2.2.30","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","request":"~2.57","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~4.1.0","mocha":"~3.4.2","walk":"~2.3.9","wait-for-port":"~0.0.2"},"gitHead":"1bb1e86f3e64009f88517cf51b4fa03535282c9c","homepage":"https://github.com/cargomedia/pulsar-rest-api#readme","_id":"pulsar-rest-api@0.6.0","_shasum":"8b20a64b7ace2a63e9c793fc815a94ff35ae41f6","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.0","_npmUser":{"name":"cargomedia-old","email":"tech@cargomedia.ch"},"dist":{"shasum":"8b20a64b7ace2a63e9c793fc815a94ff35ae41f6","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.6.0.tgz","integrity":"sha512-Z6BxKMcySaG99nmgeTlFk9lI4WAl+uKjxpBwPObfFuyY+46tVdiW4Mgql2uXqQZtxd5gD/W0/00iy6ArMSCWvw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCID5fzaIG/vDrPCkQHrv14xR6e+xySgL2T1l5glmOK6ANAiEAsxFl2LniemldYyRK6YvKcuhClAgrjkPQoxzKcJBktns="}]},"maintainers":[{"email":"philipp.pfaff@cargomedia.ch","name":"ppp0"},{"email":"tech@cargomedia.ch","name":"cargomedia-old"},{"email":"reto@retokaiser.com","name":"njam"},{"email":"vozhdb@gmail.com","name":"vogdb"},{"email":"tomasz@durka.pl","name":"tomaszdurka"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pulsar-rest-api-0.6.0.tgz_1506350088881_0.31734829023480415"},"directories":{}},"0.6.1":{"name":"pulsar-rest-api","description":"REST API for executing Pulsar tasks.","version":"0.6.1","author":{"name":"Cargomedia"},"license":"MIT","main":"lib/server.js","bin":{"pulsar-rest-api":"./bin/pulsar-rest-api"},"keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git+ssh://git@github.com/cargomedia/pulsar-rest-api.git"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"scripts":{"test":"node test/runner.js","test-data-fixture":"node test/dataFixture.js"},"dependencies":{"async":"~0.9","underscore":"~1.7","minimist":"~0.2","log4js":"0.6.8","express":"~4.9","cookies":"~0.5","body-parser":"~1.8","basic-auth":"~1.0","github-oauth":"~0.1.0","shellwords":"~0.1.0","supertest":"0.9.0","redis":"0.10.0","mongodb":"~2.2.30","jsonschema":"~1.0.0","sockjs":"0.3.8","github":"~0.2.1","ps-tree":"0.0.3","request":"~2.57","js-yaml":"~3.1.0"},"devDependencies":{"chai":"~4.1.0","mocha":"~3.4.2","walk":"~2.3.9","wait-for-port":"~0.0.2"},"gitHead":"2e1a61c1dc912f740639dae77ef28629e143940d","homepage":"https://github.com/cargomedia/pulsar-rest-api#readme","_id":"pulsar-rest-api@0.6.1","_shasum":"fd658e474bb9031e2481995eb6182455bca90ca5","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.11.3","_npmUser":{"name":"cargomedia-old","email":"tech@cargomedia.ch"},"dist":{"shasum":"fd658e474bb9031e2481995eb6182455bca90ca5","tarball":"https://registry.npmjs.org/pulsar-rest-api/-/pulsar-rest-api-0.6.1.tgz","integrity":"sha512-xIUqN7xJV5glm+ku5hgnrfwueCR9/px03hx0pmCoGcew//F2Ha0Kq7Ailed2kFa8d8Efcm/MrkEG6mgOloEwpw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCr+tMBoxwJPsadkywi3cmsnE6JruTi5GmSWsnhNAiuAAIhALDIxlNtzOmt+DmkqwugQeGXPAhpEQs2bxV2qdJn9G3M"}]},"maintainers":[{"email":"philipp.pfaff@cargomedia.ch","name":"ppp0"},{"email":"tech@cargomedia.ch","name":"cargomedia-old"},{"email":"reto@retokaiser.com","name":"njam"},{"email":"vozhdb@gmail.com","name":"vogdb"},{"email":"tomasz@durka.pl","name":"tomaszdurka"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/pulsar-rest-api-0.6.1.tgz_1506354601313_0.2265048837289214"},"directories":{}}},"homepage":"https://github.com/cargomedia/pulsar-rest-api#readme","keywords":["pulsar","rest","api","bridge"],"repository":{"type":"git","url":"git+ssh://git@github.com/cargomedia/pulsar-rest-api.git"},"author":{"name":"Cargomedia"},"bugs":{"url":"https://github.com/cargomedia/pulsar-rest-api/issues"},"license":"MIT","readmeFilename":"README.md"}