{"_id":"@5app/buslane","_rev":"12-0aec4f10c8e03abb0bffc7e411c030f3","name":"@5app/buslane","dist-tags":{"latest":"3.4.1"},"versions":{"3.0.0":{"name":"@5app/buslane","version":"3.0.0","keywords":["rpc","http","object","proxy"],"author":{"name":"5app"},"license":"MIT","_id":"@5app/buslane@3.0.0","maintainers":[{"name":"charles5app","email":"charles@5app.com"},{"name":"ikhemissi","email":"iheb.khemissi@gmail.com"},{"name":"diondiondion","email":"diondiondion@gmail.com"},{"name":"adodson","email":"andrewjdodson@gmail.com"}],"homepage":"https://github.com/5app/buslane#readme","bugs":{"url":"https://github.com/5app/buslane/issues"},"dist":{"shasum":"6b8264fa015617323f257b97ac8a8fe099c2cdc4","tarball":"https://registry.npmjs.org/@5app/buslane/-/buslane-3.0.0.tgz","fileCount":17,"integrity":"sha512-qcLgDVzXkcW/3gCnJM0I0PD0MdEoMRBpijKKVctfEhzW0FswLhl4dzUS1rSlmt5cgkC48KbxGf+pN7Es02wKvA==","signatures":[{"sig":"MEYCIQDT5ctODTShKzsbXQFeZGwLvGEe3Ho20FV1mzJtdVf/hAIhAOPyJ4U0RWtKDMIuLr3ml5Y+of0aco6gUJeda5QAYBBs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcrNTKCRA9TVsSAnZWagAAhB8P/Rv3AEYfetZDHMuf+BW1\n687RIrSabDrSKJTc2fat2KmzolsEmZmRG6EBK+IX7Jv2BOWNt3Smd9s8D1a7\nJV9n1LJoVoVf6SDuuj5FpQxZuiqtc6Ee6GCcA+LgAm5IKI3N+QOoQ8hsteBB\nZqO7LY3cYW2XVj1ib74AsX0L7/ZYaZ4VP1vNcGHYgPtr8hwgjqjiyeZUZ5/D\nGigmlq6eueidxGrG+A9HlMrawAJFqN/ska7VCkePcYLEJKWTzy4p+x71HrBb\nznNlTiVEzPpJ0YIQFs4thRHgqliKAG38A0lUrZ48Mf3jlrPKfpFrt2YnrNG/\nSW6CHS2FxqidzXkisiZmmKBaaZocGBpPGPVQBB42lBMF4sjAThTfSJ/O/Cvh\nvNAePDAfEdOmZTXljWRCEqTRyQWKUZHuWuSbp58SrNeqkHLtQ0TAex4TTmb1\nRP4h7HbJ+sev31uKzzqu1j5qKVOeTlvFoUamqfP0M2L5+DJ0QiqwCU0V6eVe\nuHqGgqU1nozZL/b1ZUwaVJqDoQRryiGwRJCN54TsVRW3s89ENDW1drbR2qZN\nnrJHGxHjNrUzlg3EzY+V8AnGYn03GBwn+76ldvjy2BLzGvgZSR7LzFdJhmnQ\nZ4EtsHWmnx0K+TEH4gXXBK9g8Og94UN68uecU9DwGWp1Ju5WgmoCmAs6CXZs\ngPB7\r\n=TbEt\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"40dfa29698a46a7f134ddddd6ca1afc16201dbba","scripts":{"lint":"eslint .","spec":"NODE_ENV=test nyc node ./test/runner.js","test":"npm run lint && npm run integrationCoverage && (nyc report --reporter=text-lcov | coveralls)","dockerTest":"docker build -t buslane . && docker run buslane sh -c \"npm run integration\"","integration":" NODE_ENV=test node ./test/runner.js","integrationCoverage":" NODE_ENV=test nyc node ./test/runner.js"},"_npmUser":{"name":"ikhemissi","email":"iheb.khemissi@gmail.com"},"repository":{"url":"git+https://github.com/5app/buslane.git","type":"git"},"_npmVersion":"6.4.1","description":"buslane is a cross-service and transparent object.method proxy, using an rpc-lite json/http1 transport.","directories":{"test":"test"},"_nodeVersion":"10.5.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^13.3.0","chai":"^4.0.2","mocha":"^6.1.2","eslint":"^5.16.0","coveralls":"^3.0.2","chai-as-promised":"^7.1.1","eslint-config-5app":"^0.3.0"},"_npmOperationalInternal":{"tmp":"tmp/buslane_3.0.0_1554830537273_0.20950045476071621","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"@5app/buslane","version":"3.0.1","keywords":["rpc","http","object","proxy"],"author":{"name":"5app"},"license":"MIT","_id":"@5app/buslane@3.0.1","maintainers":[{"name":"5app-bot","email":"bot@5app.com"},{"name":"adodson","email":"andrewjdodson@gmail.com"},{"name":"charles5app","email":"charles@5app.com"},{"name":"diondiondion","email":"diondiondion@gmail.com"},{"name":"ikhemissi","email":"iheb.khemissi@gmail.com"}],"homepage":"https://github.com/5app/buslane#readme","bugs":{"url":"https://github.com/5app/buslane/issues"},"dist":{"shasum":"18c2bca0c998c955b12d78baddcf0d53a7c913ba","tarball":"https://registry.npmjs.org/@5app/buslane/-/buslane-3.0.1.tgz","fileCount":19,"integrity":"sha512-0Vz+X8rIxRlhYi+zWWjBW68+zOFUypjEfs2A6i2E0OueoD49QBQn+EyezcBUDx5ht7EW+S0XcbLqkyrXgqiNpQ==","signatures":[{"sig":"MEYCIQCExi7QBmH7ckPV/aIllQ5C+kMMWkKPjiP0N3R4JFhp8QIhAOVDmL0MEnaSAxB+lnAbMMGBHilEcXDjEdShh50wfdKs","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdmyOgCRA9TVsSAnZWagAAL3oP/R9gBEtvGksfX5T4y8Z+\nAAexsFvyNrIk13aRZzb3Q7LZO3t1Xjm8dnTJYVBA3iF+erSkpFV2szFn5Chh\nJBKPnys9vBVCgY6+RQ1TaEAgk/0gksYKYatFd/89waoeDplamIvHKzh5Rzo8\ni+ILuVOLwRLggYV0PsOqVIyrjAeXokKKbZaLopa5K1Z/chIK5FsMes/9e99Q\nsmPNX49BiMgPdT8vZ4XLLJ5T+XRHu893jEWpkMQ+HBPDdL9DGEYpfJsxazCj\np5qIhenubczSeK+nyBG265V/syI34GLnikC94SDgSmw8reyO/wA2zQ1GiDtU\nXaJBKAGbqwEJZlKnAyPqFMF0O+GwTYFmt6epU/kh33oS51BCpsad5VG2smC3\ngVUxz+U/FaGIP0uyaDATwpBwljFlNk6Bn1C2VlPbKsuxm4npadN7+Vec4MS5\nJv4uTtLu3x7GbqFE5NUdl/1XRwHa24MeKkkyoRCA3ZuI9xbbHVdGAYuAfDGL\nJKTK4Ct1CW+EUmc/iI1Bx+PVQ9cQCLA1NCUJ3IwDhskp+eqy+uW6TVMT0Gkn\nVkhMrRsvyxy/PHiuaK6JYYe8kCP10osvtAEMuoJEgwKk7yeky/B8YBVzFqF/\nxoDkJDL4ZvssBwdR+vYSJs1zcE8c02G/CkSw32Hdm/xOyMHNRa2A0331uGxd\n2U6/\r\n=2aIn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"a829f2596974c7f117024b4b8eb4786792cb37ea","release":{"branch":"master","plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"prepare":["@semantic-release/changelog","@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]},"scripts":{"lint":"eslint .","spec":"NODE_ENV=test nyc node ./test/runner.js","test":"npm run integrationCoverage && (nyc report --reporter=text-lcov | coveralls)","lint-diff":"LIST=`git diff-index --name-only HEAD | grep '.*\\.js$';`; if [ \"$LIST\" ]; then eslint $LIST; fi","dockerTest":"docker build -t buslane . && docker run buslane sh -c \"npm run integration\"","integration":" NODE_ENV=test node ./test/runner.js","precommit-msg":"echo 'Running pre-commit checks... (skip using --no-verify)' && exit 0","semantic-release":"semantic-release","integrationCoverage":" NODE_ENV=test nyc node ./test/runner.js"},"_npmUser":{"name":"5app-bot","email":"bot@5app.com"},"pre-commit":["precommit-msg","lint-diff"],"repository":{"url":"git+https://github.com/5app/buslane.git","type":"git"},"_npmVersion":"6.11.3","description":"buslane is a cross-service and transparent object.method proxy, using an rpc-lite json/http1 transport.","directories":{"test":"test"},"_nodeVersion":"12.11.0","_hasShrinkwrap":false,"devDependencies":{"nyc":"^14.1.1","chai":"^4.0.2","mocha":"^6.1.4","eslint":"^6.0.0","coveralls":"^3.0.2","pre-commit":"^1.2.2","chai-as-promised":"^7.1.1","semantic-release":"^15.13.24","eslint-config-5app":"^0.6.2","@semantic-release/git":"^7.0.16","@semantic-release/changelog":"^3.0.4"},"_npmOperationalInternal":{"tmp":"tmp/buslane_3.0.1_1570448287223_0.9389373037403947","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"@5app/buslane","version":"3.1.0","keywords":["rpc","http","object","proxy"],"author":{"name":"5app"},"license":"MIT","_id":"@5app/buslane@3.1.0","maintainers":[{"name":"5app-bot","email":"bot@5app.com"},{"name":"adodson","email":"andrewjdodson@gmail.com"},{"name":"charles5app","email":"charles@5app.com"},{"name":"diondiondion","email":"diondiondion@gmail.com"},{"name":"ikhemissi","email":"iheb.khemissi@gmail.com"}],"homepage":"https://github.com/5app/buslane#readme","bugs":{"url":"https://github.com/5app/buslane/issues"},"dist":{"shasum":"97f6b16ac767b86ac458a38dbdae243fb9c6e0ca","tarball":"https://registry.npmjs.org/@5app/buslane/-/buslane-3.1.0.tgz","fileCount":20,"integrity":"sha512-tFohIs7AYjFNKJsZkh7ycVyTv+hkzfwV9+Aw43a3z2QQDlEBBodMzNdsglw+cI3JMuHAPtgRo5F3MztRNPO9pA==","signatures":[{"sig":"MEUCIQCol7F4U/p061u56Wskgui6si+ItpmuzJi5hNUeoqr82gIgAPM8u4zIm1mgFOfIvNS1UMoycdpdA12F+0Ncs7PuGiE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21734,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJes71HCRA9TVsSAnZWagAAOMkP/2Z5OBSGxGc+kDMcJn/f\nfsni5BFXJgWwhGUiyk2UEZmUmpgDeECifvcmny0tRneIZLJJyGYomFCK6NeL\nHR9NUcw/rjikObaCzS8vT5wvaJmZIq40cKOF5rSADJJh/5i0na6RlcM0Wlg8\nzpMErg9qbbLnVBwFJpE4asfLD7vmeFtY9pkjqGKamrXH/1oFnpvQBsce58BO\ngaO+5zqAg3uyvON7KQoCeU0bZjlKDeVhS898xRvEJ0F9hljKrPHzV4tgStAN\nO1ezPRDbY9XekGQwS3VsuWrEDLp3ecw8MtmfhSOF3LTBYwx+a2EtoXtyW6LW\n3kxTOLJAw8T5XXwjnmoKyCB5tmJ1eX55nVxat+0qQLD3C6qoZuRkyXiSeUKE\nqxdfj/T2s7cEisjFcmusNv/7ES67G8FH40jl536fgjtOoylH4iPbWF1DudFY\nyZVNSuWm4oQBG3R2eNquhMumxXuhgSD64tIsaF2dHSuTTqQejHaS6c9fYie0\nfnIQA9LvCjlUGZWXQNq8GUsoFiWnrSAZVInlM9xAE8ZAk50xGU3Tvnbe/cQp\nR81OxgAwK33PIrcFlYB26WgllyOfVXvtD/4IlfeBZmq1AUQjDrhKx05KS3nw\nSH8232t3TgUv3/QXuTYcW/4bbPWfyU7kAW25SDfTYbygnGfNa6nrvd5VwW55\nfmNq\r\n=9PEL\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"4349d047b9a074f283625c487b48017cb2ad286f","release":{"branch":"master","plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"prepare":["@semantic-release/changelog","@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]},"scripts":{"lint":"eslint .","spec":"NODE_ENV=test nyc node ./test/runner.js","test":"npm run integrationCoverage && (nyc report --reporter=text-lcov | coveralls)","lint-diff":"LIST=`git diff-index --name-only HEAD | grep '.*\\.js$';`; if [ \"$LIST\" ]; then eslint $LIST; fi","dockerTest":"docker build -t buslane . && docker run buslane sh -c \"npm run integration\"","integration":" NODE_ENV=test node ./test/runner.js","precommit-msg":"echo 'Running pre-commit checks... (skip using --no-verify)' && exit 0","semantic-release":"semantic-release","integrationCoverage":" NODE_ENV=test nyc node ./test/runner.js"},"_npmUser":{"name":"5app-bot","email":"bot@5app.com"},"pre-commit":["precommit-msg","lint-diff"],"repository":{"url":"git+https://github.com/5app/buslane.git","type":"git"},"_npmVersion":"6.14.4","description":"buslane is a cross-service and transparent object.method proxy, using an rpc-lite json/http1 transport.","directories":{"test":"test"},"_nodeVersion":"12.16.3","dependencies":{"@5app/logger":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","chai":"^4.2.0","mocha":"^7.1.2","eslint":"^6.8.0","coveralls":"^3.1.0","pre-commit":"^1.2.2","chai-as-promised":"^7.1.1","semantic-release":"^17.0.7","eslint-config-5app":"^0.10.0","@semantic-release/git":"^9.0.0","@semantic-release/changelog":"^5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/buslane_3.1.0_1588837703261_0.7889110639958563","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"@5app/buslane","version":"3.2.0","keywords":["rpc","http","object","proxy"],"author":{"name":"5app"},"license":"MIT","_id":"@5app/buslane@3.2.0","maintainers":[{"name":"5app-bot","email":"bot@5app.com"},{"name":"adodson","email":"andrewjdodson@gmail.com"},{"name":"charles5app","email":"charles@5app.com"},{"name":"diondiondion","email":"diondiondion@gmail.com"},{"name":"ikhemissi","email":"iheb.khemissi@gmail.com"}],"homepage":"https://github.com/5app/buslane#readme","bugs":{"url":"https://github.com/5app/buslane/issues"},"dist":{"shasum":"5b57785b04cb326fa4e3d84cc1c52f007ee4cb8b","tarball":"https://registry.npmjs.org/@5app/buslane/-/buslane-3.2.0.tgz","fileCount":20,"integrity":"sha512-hEGXVIXzezakfsRJ/Eni0ARCzfTjDcvXjOk+CURKBXceYFDE+WCz4DOylr3BKSBYzc3TkQw+yD33vlmXTzbNWA==","signatures":[{"sig":"MEUCIDeJsVNHWh4vaiHDTp1p9cuVX7OEWkqVtsi8qVbq0tdRAiEA0pH5rl5hkg2BsBl3Rd425CIjIpkN7wvVWbwXpWtde1o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21464,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJes8PGCRA9TVsSAnZWagAA9XcP/1aMTFgJfgCtnQDXtJof\n57/lFhr5wsESiHFJq1Ks7OJjUK15S2ZyIY5GfCmPEsHFb5cmiOapVKk3KQJr\nnfntMHm05Shdaukqnzo2AlGImyOMHgKxWRfykf0zbevogWgXxAGtylOkGxYw\ne5xO/Ibn/gZZ+PAdFV3LLm0xFcAGXq81eRrQULngfLH8GxrAO/BxwZHWAa8U\nN28bZQTH0vrhaFMrDwZ1GRU6Y8RVzS8in6gm/euT2T2wLSBHGYShNCPQJSbx\n9+dJd6d+tHIpk1k72ePZn12jgPBMq/hWPppwAhOKZdJs6Ew/T2PfF7wLjFzA\nbkHhL14iHJWNk8v2NRE86tkYB9ha2Y27jnsAhK2JrsLCCOX5dOwQPBUqZXar\n1s7GnNWSqjhmR/ME369ZFRbKqLZSMowj+A/Bh4mYKyvbZu2gpPnLNuOojpne\nd0QmGMfQ/ewFqixc9R9Uz9PCdbrYTTerRwhFJrdSS6LftHHCVVCKrnqmdUQ0\nDjZXlUR4UbmTYfbzagUC+ptUjmPcpUb4X3SOQegAHeVw0AMDyFIwyjTYXqNh\nwRnqr5Gkm8yRZmxQExDtjrCiSYtnsJlKoRatJ3/k9xMOVt8/fGEMwdkz5zBn\n4+mEX3CXODbaBPCuIknEzLodeZq1m3aDPESYnFWGzKbyyuHmQnxLYrMrwuUv\ncPs5\r\n=O6hA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"a772a26137ab2712f97a3abb6d915cc9e5aff7ac","release":{"branch":"master","plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"prepare":["@semantic-release/changelog","@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]},"scripts":{"lint":"eslint .","spec":"NODE_ENV=test nyc node ./test/runner.js","test":"npm run integrationCoverage && (nyc report --reporter=text-lcov | coveralls)","lint-diff":"LIST=`git diff-index --name-only HEAD | grep '.*\\.js$';`; if [ \"$LIST\" ]; then eslint $LIST; fi","dockerTest":"docker build -t buslane . && docker run buslane sh -c \"npm run integration\"","integration":" NODE_ENV=test node ./test/runner.js","precommit-msg":"echo 'Running pre-commit checks... (skip using --no-verify)' && exit 0","semantic-release":"semantic-release","integrationCoverage":" NODE_ENV=test nyc node ./test/runner.js"},"_npmUser":{"name":"5app-bot","email":"bot@5app.com"},"pre-commit":["precommit-msg","lint-diff"],"repository":{"url":"git+https://github.com/5app/buslane.git","type":"git"},"_npmVersion":"6.14.5","description":"buslane is a cross-service and transparent object.method proxy, using an rpc-lite json/http1 transport.","directories":{"test":"test"},"_nodeVersion":"12.16.3","dependencies":{"@5app/logger":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","chai":"^4.2.0","mocha":"^7.1.2","eslint":"^6.8.0","coveralls":"^3.1.0","pre-commit":"^1.2.2","chai-as-promised":"^7.1.1","semantic-release":"^17.0.7","eslint-config-5app":"^0.10.0","@semantic-release/git":"^9.0.0","@semantic-release/changelog":"^5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/buslane_3.2.0_1588839366241_0.34100690996448657","host":"s3://npm-registry-packages"}},"3.3.0":{"name":"@5app/buslane","version":"3.3.0","keywords":["rpc","http","object","proxy"],"author":{"name":"5app"},"license":"MIT","_id":"@5app/buslane@3.3.0","maintainers":[{"name":"adodson","email":"andrewjdodson@gmail.com"},{"name":"diondiondion","email":"diondiondion@gmail.com"},{"name":"ikhemissi","email":"iheb.khemissi@gmail.com"},{"name":"charles5app","email":"charles@5app.com"},{"name":"5app-bot","email":"bot@5app.com"}],"homepage":"https://github.com/5app/buslane#readme","bugs":{"url":"https://github.com/5app/buslane/issues"},"dist":{"shasum":"1cc7314eb457d44178229e5d20eee4221c78d670","tarball":"https://registry.npmjs.org/@5app/buslane/-/buslane-3.3.0.tgz","fileCount":20,"integrity":"sha512-6fgnhP/LmFGU95WmIquSfaz4yZbQQKJ/laHIdGH12IIn32gG5xS1uPl/YgZPUepja4z4oKx2Z2SjYna5+TcLtA==","signatures":[{"sig":"MEUCICbc74r+Gjb4AJAYT/kOFO/bgG8pmgZ4/YvAb+MIExEtAiEA5Jf3MwvNYDHMjFOr9Ug+UGSMRO6WqWL88mwvJpjH6P4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22674,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgUcv5CRA9TVsSAnZWagAAAu0P/jWSVAJdVNZQ3EC5vHx+\ntW8iTFlzqRCHhfGyniu7P5/2RcW0fM5k7AODmEtF8lHWlYHjZdtugOmkCd16\nTJNcPrzl5U6Hnv/wR+HphtU8s8UvFwaCagYlCCXKQKPdSENpbgcZyqE7QTGL\nlMcXozaD3ee+civuG1FEH+mWOfSCS8A6qEMM/uqPHmV0zzjVriep0GjQKXLU\nHhSDS3hWZPEfLMax2TsfUIpnBdUukzOEWBLX7WztgBqdArfE3Kw39UdNVw7Q\nvGeegVezKq5kMGyXQSAR5TNhbnCJCx1WGIfvbF7ky8J+0vv6mjH5h7urwKpm\nu8GC0qO+I9FX6E4m/7ERCye3Zu/QIMilsau2CK1vm/wqEyxryQuLIVj9kNOZ\n7zaLkixHmmiwLHnfv5S0mr/JmH1bEtSXkFRTFSy8miogl8NV9bOSB2Ts4S06\nodQ/bJG91i2Kkq+xTjGvrFCxqp3YxoJwSLTeeKyV9Dsd1084DVZr20hZ6vWA\nS0nPDI+4fiUvfYgX6JzUIDFAYEhqsmb4u3KCG7KbR35XXxcpJ52Ktc26b8MP\nTaSX0ro1XxUCoCg7QE34lXO2fYt/X+B3POB4s+shhAUuVIVpDqUx3G0LecE4\ncbFWJJZpV1VxZeiu2Oti8t1ioBWx/Z2B8zUF8SV1isr8NzCK7qXVy1SYZBga\ng3B6\r\n=AOvg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"02d347c3666d3ca196b68d69fe74e1c3ca92afdf","release":{"branch":"master","plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"prepare":["@semantic-release/changelog","@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]},"scripts":{"lint":"eslint .","spec":"NODE_ENV=test nyc node ./test/runner.js","test":"npm run integrationCoverage && (nyc report --reporter=text-lcov | coveralls)","lint-diff":"LIST=`git diff-index --name-only HEAD | grep '.*\\.js$';`; if [ \"$LIST\" ]; then eslint $LIST; fi","dockerTest":"docker build -t buslane . && docker run buslane sh -c \"npm run integration\"","integration":" NODE_ENV=test node ./test/runner.js","precommit-msg":"echo 'Running pre-commit checks... (skip using --no-verify)' && exit 0","semantic-release":"semantic-release","integrationCoverage":" NODE_ENV=test nyc node ./test/runner.js"},"_npmUser":{"name":"5app-bot","email":"bot@5app.com"},"pre-commit":["precommit-msg","lint-diff"],"repository":{"url":"git+https://github.com/5app/buslane.git","type":"git"},"_npmVersion":"6.14.11","description":"buslane is a cross-service and transparent object.method proxy, using an rpc-lite json/http1 transport.","directories":{"test":"test"},"_nodeVersion":"12.21.0","dependencies":{"@5app/logger":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","chai":"^4.2.0","mocha":"^8.0.0","eslint":"^7.0.0","coveralls":"^3.1.0","pre-commit":"^1.2.2","chai-as-promised":"^7.1.1","semantic-release":"^17.0.7","eslint-config-5app":"^0.10.0","@semantic-release/git":"^9.0.0","@semantic-release/changelog":"^5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/buslane_3.3.0_1615973368548_0.2723923626693854","host":"s3://npm-registry-packages"}},"3.4.0":{"name":"@5app/buslane","version":"3.4.0","keywords":["rpc","http","object","proxy"],"author":{"name":"5app"},"license":"MIT","_id":"@5app/buslane@3.4.0","maintainers":[{"name":"adodson","email":"andrewjdodson@gmail.com"},{"name":"diondiondion","email":"diondiondion@gmail.com"},{"name":"ikhemissi","email":"iheb.khemissi@gmail.com"},{"name":"charles5app","email":"charles@5app.com"},{"name":"5app-bot","email":"bot@5app.com"}],"homepage":"https://github.com/5app/buslane#readme","bugs":{"url":"https://github.com/5app/buslane/issues"},"dist":{"shasum":"2c9d00184f48d1d11863847e7ed749ad4dd37568","tarball":"https://registry.npmjs.org/@5app/buslane/-/buslane-3.4.0.tgz","fileCount":8,"integrity":"sha512-EhXQpOzrUXgPdY9bWBTVZUcHEXbv7dwI/+lf6ufvcEnSVdyZBRT9HFk+61x/hEj8lz/scZicYBRlRUW1HkkTjg==","signatures":[{"sig":"MEUCIQDD+vs+xVNe9oINWW2wVCYHv1vubDQA5zgtkEIbhb/WPwIgHQNUynHsTzaLn29oqvOd+y8EL/+ypOzhDE9JYlqlqYo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14686,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhljiqCRA9TVsSAnZWagAA9icP/3oPVQNud3+6qsXYrqq8\nrbyW9I0sH8SgJnVsAQ+3rkx5RNiYyXy0UTO3Fc3n/xvizN+dGEz5oJSqgT1N\nbk+A7aGKeShncMkOQbjrc0aeVfUOFTpZMHaWuHfyV/PT111UEN7CWdw3nZiB\nusIDD+bMCTsw2twlqVPzzuXPbbsji7G6zqsmKyPYi/0bDqPdD7AgN2LUEO1d\nuG8FQjeS3hYBre1XGuqMv7WFdCElFtIGf84ssd0KKBQuvO9+UATx+FQIXVGP\nj36Rk2Eu0JBqYnxJymI8Fv7tTnsGZG2VimQZYoRRzg1eg5y07NR75Ruld1LY\nQZyINSQ/GZHeEb3MA+LbRH56nHCdLroZ/TcwraWJdpvHD+X+Ud7wDEAP07u+\nnUBK5eKsZwV8isrn5zt/kmPQjZAsntJJjjFnB/IrQpXMkER7jFplWyWzDJmi\nZYeDaa8Mc/XZCySE0A79jR61zdbyT4bF7E+kLczJtNr0rCsYsUl1QnJahUQU\njuyIL+hFDC7zOUXqLZXKi9p+opsYYfPfFTkbtjGMZM3Q2tM6WaYGZaZOk2Ft\nRADMNuAwULm8/7rrEdv4gPmteYxhIqDyhx0GQ64DDgZRroy0HbFW7XPtO15C\nSh49z53s7Hs+iKhTOtY2d3UwZTHfydOTi/lH7W0RwqmUVNAuRzkwzEpUhb5N\n0hEX\r\n=6msR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=12.0.0"},"gitHead":"8780447faa1d7457b85ac78eede6ae0384ec828a","release":{"branch":"master","plugins":["@semantic-release/commit-analyzer","@semantic-release/release-notes-generator","@semantic-release/npm","@semantic-release/github"],"prepare":["@semantic-release/changelog","@semantic-release/npm",{"path":"@semantic-release/git","assets":["package.json","CHANGELOG.md"],"message":"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"}]},"scripts":{"lint":"eslint .","spec":"nyc mocha ./test/tests/*.js","test":"npm run spec && (nyc report --reporter=text-lcov | coveralls)","lint-diff":"LIST=`git diff-index --name-only HEAD | grep '.*\\.js$';`; if [ \"$LIST\" ]; then eslint $LIST; fi","precommit-msg":"echo 'Running pre-commit checks... (skip using --no-verify)' && exit 0","semantic-release":"semantic-release"},"_npmUser":{"name":"5app-bot","email":"bot@5app.com"},"pre-commit":["precommit-msg","lint-diff"],"repository":{"url":"git+https://github.com/5app/buslane.git","type":"git"},"_npmVersion":"7.24.2","description":"buslane is a cross-service and transparent object.method proxy, using an rpc-lite json/http1 transport.","directories":{"test":"test"},"_nodeVersion":"16.13.0","dependencies":{"@5app/logger":"^2.0.2"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.0.1","chai":"^4.3.4","mocha":"^9.0.0","eslint":"^7.22.0","coveralls":"^3.1.0","pre-commit":"^1.2.2","chai-as-promised":"^7.1.1","semantic-release":"^17.0.7","eslint-config-5app":"^0.15.0","eslint-plugin-node":"^11.1.0","@semantic-release/git":"^9.0.0","@semantic-release/changelog":"^5.0.1"},"_npmOperationalInternal":{"tmp":"tmp/buslane_3.4.0_1637234858412_0.28188894260994357","host":"s3://npm-registry-packages"}},"3.4.1":{"name":"@5app/buslane","version":"3.4.1","keywords":["rpc","http","object","proxy"],"author":{"name":"5app"},"license":"MIT","_id":"@5app/buslane@3.4.1","maintainers":[{"name":"adodson","email":"andrewjdodson@gmail.com"},{"name":"diondiondion","email":"diondiondion@gmail.com"},{"name":"ikhemissi","email":"iheb.khemissi@gmail.com"},{"name":"5app-bot","email":"bot@5app.com"}],"homepage":"https://github.com/5app/buslane#readme","bugs":{"url":"https://github.com/5app/buslane/issues"},"dist":{"shasum":"904c5fdbb6241398d405c5d1065b0266511ab8f6","tarball":"https://registry.npmjs.org/@5app/buslane/-/buslane-3.4.1.tgz","fileCount":8,"integrity":"sha512-8cuVV5ao1LmAgcJyFZY//iLHBUc6Yt14hq2m8Qaosr8+3xBTJETohp2pxvRgtbLm4MA17x4Dc+lyA97Py0XrNw==","signatures":[{"sig":"MEUCIERcQFrQTQrslura0k5sohVdgDRZxrtXeJ/WjcACOdxCAiEAocfLKfjXpLzSh4Xp+WQxBQNxfCxpUJJHtKIAtSHADik=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjGLnzACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8RA//U9Hg2ql+eOV+avHysHahfX6VW8Pf4TeeZhZa4r9S0rvvVddv\r\n27u13PKC6hot7AZZqdgqhDL7u4pmkWr3iXcuG1I3eNejH3Mj/wEkVqi6MQQZ\r\nzct3TNYPuhM6Pl8dABHy2AOJyOYcsBbi0XZJmFISK8D9Gj+mMcy9RhfuJzpC\r\nPdWmHeehPpsrYEr5PLK7JcQqXlwnLs0Gz8uim0UTjOsAFvQ/MFN/Zh9ortNe\r\ny6YmwXxrNayfx6zTOxQuNKRHeYbZQNXskTbvDB0lM5QKZcR81iNKyRKJM2OJ\r\nVajkW0KalU4i73TgBaJ5K5G7yvdtXQwr8ioyFPpUtjbfdPjP3sdgD7PjEU2N\r\nQ2pSv4OfEAXE+FP7ghW3q6E1ydLcoYW2aDHxX4uNPUQM3UO2m5XVuhMcvCS4\r\nPIs/AekN25+F4ENR0R0BcrBGbeXE4zf6qU/a01CKDsWs1D6eQvDcuLN0K/20\r\nNKE483N0XF4Iin6BUEq91SEQfOlU0tMEeb3wggnk8IJFnmDRqI5i0kyA7ogY\r\n83ziKEbxf46l6jRy988xcixvGtW03lxGQjo7IAfLK0tPnqErmEGtM0IsFixR\r\nwgg3bIuxTs+N/OZc+oqZSSIWKYnXBO/lCYcl05n7KAaGD8Ru05HWPyvl3S3i\r\nr3xB18jM+p9fJYBFvQQdBkfNyWa5zazs8E4=\r\n=ePkr\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","engines":{"node":">=12.0.0"},"gitHead":"88b77b46c4d8fa1f7f532dba1c01781ba9b6cee4","release":{"extends":"@5app/semantic-release-config"},"scripts":{"lint":"eslint .","spec":"nyc mocha ./test/tests/*.js","test":"npm run spec && (nyc report --reporter=text-lcov | coveralls)","lint-diff":"LIST=`git diff-index --name-only HEAD | grep '.*\\.js$';`; if [ \"$LIST\" ]; then eslint $LIST; fi","precommit-msg":"echo 'Running pre-commit checks... (skip using --no-verify)' && exit 0"},"_npmUser":{"name":"5app-bot","email":"bot@5app.com"},"pre-commit":["precommit-msg","lint-diff"],"repository":{"url":"git+https://github.com/5app/buslane.git","type":"git"},"_npmVersion":"8.19.1","description":"buslane is a cross-service and transparent object.method proxy, using an rpc-lite json/http1 transport.","directories":{"test":"test"},"_nodeVersion":"16.17.0","dependencies":{"@5app/logger":"^2.3.0"},"_hasShrinkwrap":false,"devDependencies":{"nyc":"^15.1.0","chai":"^4.3.6","mocha":"^10.0.0","eslint":"^8.23.0","coveralls":"^3.1.1","pre-commit":"^1.2.2","chai-as-promised":"^7.1.1","semantic-release":"^19.0.5","eslint-config-5app":"^0.16.4","eslint-plugin-node":"^11.1.0","@semantic-release/git":"^10.0.1","@semantic-release/changelog":"^6.0.1","@5app/semantic-release-config":"^1.0.3"},"_npmOperationalInternal":{"tmp":"tmp/buslane_3.4.1_1662564851656_0.9414464903109614","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-04-09T17:22:17.038Z","modified":"2026-03-09T12:23:17.140Z","3.0.0":"2019-04-09T17:22:17.522Z","3.0.1":"2019-10-07T11:38:07.443Z","3.1.0":"2020-05-07T07:48:23.449Z","3.2.0":"2020-05-07T08:16:06.342Z","3.3.0":"2021-03-17T09:29:28.731Z","3.4.0":"2021-11-18T11:27:38.580Z","3.4.1":"2022-09-07T15:34:11.840Z"},"bugs":{"url":"https://github.com/5app/buslane/issues"},"author":{"name":"5app"},"license":"MIT","homepage":"https://github.com/5app/buslane#readme","keywords":["rpc","http","object","proxy"],"repository":{"url":"git+https://github.com/5app/buslane.git","type":"git"},"description":"buslane is a cross-service and transparent object.method proxy, using an rpc-lite json/http1 transport.","maintainers":[{"email":"andrewjdodson@gmail.com","name":"adodson"},{"email":"bot@5app.com","name":"5app-bot"},{"email":"sarah@5app.com","name":"shoub"},{"email":"webmaster@5app.com","name":"5app-webmaster"},{"email":"robert.dexter@5app.com","name":"robert.dexter"},{"email":"rob@5app.com","name":"rob-mackenzie"}],"readme":"# Buslane\n\n[![Coverage Status](https://coveralls.io/repos/github/5app/buslane/badge.svg)](https://coveralls.io/github/5app/buslane)\n\n## Intro\n\nBuslane is a cross-service and transparent object.method proxy, using an rpc-lite json/http1 transport.\n\nThe need for this lib came about when we decided to move to docker at 5app. I wanted a simple way to remove our direct code dependencies between services without having to add extra endpoints manually.\n\nWith buslane and its RPC like object proxying, you can call methods on remote objects as if they were in the same context. So there is no need to create specific service endpoints either. Just write the configuration and buslane will expose the objects to each other.\n\nThis is all still very experimental, so use with caution, I sure am.\n\n## Config & Usage\n\nInstall the buslane package using:\n```sh\nnpm install --save @5app/buslane\n```\n\nNow, you will need to create a Buslane instance which you can use to make `service1` and `service2` communicate:\t\n```javascript\nconst Buslane = require('@5app/buslane');\n\nconst thisServiceName = 'service1';\nconst config = {\n\tname: thisServiceName,\n\tshared_api_key: 'my shared secret key',\n\tmap: [\n\t\t{name: 'service2', port: 11211, ingresses: ['boat']},\n\t\t{name: thisServiceName, port: 11311, ingresses: []},\n\t],\n};\n\nconst buslane = new Buslane(config);\nconst rpcResult = await buslane.service2.boat.sail('ocean');\n```\n\n## Test\n\nbuild and run with docker:\n\n```\ndocker build -t buslane . && docker run buslane\n```\n\n\n## Comparison with Buslane 2\n\nBuslane 3 uses HTTP1 while Buslane 2 uses HTTP2.\nThe decision on dropping HTTP2 in favour of HTTP1 was made in order to resolve 2 issues:\n\n- Recover connections after the service recovers: this can also be achieved by re-attempting connections and handling extra HTTP2 headers like `GOAWAY` (in addition to the current `ERR_HTTP2_INVALID_SESSION`).\n- Load balancing requests between multiple instances of the same service: HTTP2 creates a session which binds 2 services (instances) together using a TCP connection. As a session-less protocol, HTTP1 does not have this issue, but on the other hand, there will be a handshake every time a request is made (with extra overhead compared to HTTP2).\n\n","readmeFilename":"README.md"}