{"_id":"http-backend-proxy","_rev":"33-c27d6fea087ce983c1a34e91eae2f590","name":"http-backend-proxy","description":"A proxy that allows configuring the AngularJs e2e $httpBackend service from within protractor based tests and enables protractor-to-browser data sharing.","dist-tags":{"latest":"1.4.3"},"versions":{"1.0.0":{"name":"http-backend-proxy","private":false,"version":"1.0.0","description":"A proxy that allows configuring the ngMockE2E $httpBackend service from within protractor based tests.","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"~0.17.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"postinstall":"bower install","start":"http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js"},"homepage":"https://github.com/kbaltrinic/http-backend-proxy","_id":"http-backend-proxy@1.0.0","dist":{"shasum":"2edac5826b1cb4c4190b2091081b80646ef2c4f2","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.0.0.tgz","integrity":"sha512-RpMmtBBtiiObr2v8knxai14bRC6x5WpBOFTBe5c3Fh/OK2x7c0jVgW5ibBpZ96nlXnsCmMcwud2b/GNYOU4evw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC5f0hYVgacSji1o+4BkMBlF1vbEIqBuCFevZcTE0FHPAiEA7bRRvLwxxpXDwkelYH9ITm6BENHZihYFEep7pNMyR2A="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}]},"1.1.0":{"name":"http-backend-proxy","private":false,"version":"1.1.0","description":"A proxy that allows configuring the ngMockE2E $httpBackend service from within protractor based tests.","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"~0.17.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"postinstall":"bower install","start":"http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js"},"homepage":"https://github.com/kbaltrinic/http-backend-proxy","_id":"http-backend-proxy@1.1.0","dist":{"shasum":"b8ba95a17dca2a2249c23980fc3a3898961e5cb8","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.1.0.tgz","integrity":"sha512-TmndMekJdDhoT/wKc8O1nYSsVB2qJhj3pAFo4HuB2myWk9oVVSMwiq9t7du8ffhzY1BxkUDUvF5NU/9ohutkfA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFM2zccp44eewFbrssLcmPjvv7m/yhnyMFjiNEuRPCWNAiEA3EgKVpNe0lDmLW0xG/ggYI+aQBTIQO6w0+OkBQKcCAA="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}]},"1.1.1":{"name":"http-backend-proxy","private":false,"version":"1.1.1","description":"A proxy that allows configuring the ngMockE2E $httpBackend service from within protractor based tests.","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"~0.17.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"postinstall":"bower install","start":"http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js"},"_id":"http-backend-proxy@1.1.1","dist":{"shasum":"82db5b920b40751e3d66e7635964a3a9720cb9ee","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.1.1.tgz","integrity":"sha512-mMo+3hagBosnXJD8qDWUbCuDvvNb/dXEV3oQpSIopp56n3yGo64K+VQ2kkKMPCWxh3u8LNWd98O5dl2CBuh1RQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCaXQ8IrhVelyWOkBfMjgZxWfz70xW4mKZBsuWgV8gqwwIhAKGj8vKtAEfHhb66TZa/rWC9d/mOmUwYfrZLKZxlmckl"}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}]},"1.2.0":{"name":"http-backend-proxy","private":false,"version":"1.2.0","description":"A proxy that allows configuring the ngMockE2E $httpBackend service from within protractor based tests.","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"~0.17.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"postinstall":"bower install","start":"http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js"},"homepage":"https://github.com/kbaltrinic/http-backend-proxy","_id":"http-backend-proxy@1.2.0","dist":{"shasum":"b041b0eb0af9e162a942fdb0b7c9143b0e739a87","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.2.0.tgz","integrity":"sha512-upCQu1U5rYE3p7Vvgc8PB6A2O2kbkk5SUxZSRTrZX3DnnuVe6Y8hTiSDrao+K1m9b5v2wkB52SItRMnxjsHa2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBBCCgdC/gXAZt2l0Z3oD8+FHc0dkRl/HC9arAOvHilFAiEApsGUK+pylTI914wZdMtHq0sjzyHC6v/vvXIp8AywMMs="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}]},"1.2.1":{"name":"http-backend-proxy","private":false,"version":"1.2.1","description":"A proxy that allows configuring the AngularJs e2e $httpBackend service from within protractor based tests and enables protractor-to-browser data sharing.","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"~0.17.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"start":"bower install && http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js"},"homepage":"https://github.com/kbaltrinic/http-backend-proxy","_id":"http-backend-proxy@1.2.1","_shasum":"084cd0b80862f9ee4d72f4ed9f04561a6820f3bf","_from":".","_npmVersion":"1.4.7","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}],"dist":{"shasum":"084cd0b80862f9ee4d72f4ed9f04561a6820f3bf","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.2.1.tgz","integrity":"sha512-wjG+K9xXlDKFPFrALQNOE3fh9AO+pGdyfDG4i1TjXM7ML59Nujflkd3CdrPHmgzu2j9ZOFZ7pOoLr5hPSRBAiw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDe0oQ4e56liQfyZuuseDkJOA+A2xiFQEPqaOnWOcW0yAIhAPgXjVUVmYwyVd9Au0ycZIISoQIhDpPAYpZaEnUB2FWy"}]}},"1.3.0":{"name":"http-backend-proxy","private":false,"version":"1.3.0","description":"A proxy that allows configuring the AngularJs e2e $httpBackend service from within protractor based tests and enables protractor-to-browser data sharing.","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"~0.17.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"start":"bower install && http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js","e2e-debug":"protractor debug test/protractor-conf.js"},"homepage":"https://github.com/kbaltrinic/http-backend-proxy","_id":"http-backend-proxy@1.3.0","dist":{"shasum":"5b05580f5f0a4247847a6b26661f0a577552d978","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.3.0.tgz","integrity":"sha512-ZHGDy3gs8yc9NqRuDcJrg51mjT/x48KKCO9AOLCTQsruhLUdqCjoeJDK0iRbUOHar32I88Bsjz4p0eHt3hbARg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXj6ilxtLo0BYcaT8MtnbSueLdVitI5PEqmesI0DQFdwIgfu0sfjWfW4e151sVNxrY652CH2WgfSgRXAd7MGPbqlY="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}]},"1.3.1":{"name":"http-backend-proxy","private":false,"version":"1.3.1","description":"A proxy that allows configuring the AngularJs e2e $httpBackend service from within protractor based tests and enables protractor-to-browser data sharing.","homepage":"https://github.com/kbaltrinic/http-backend-proxy/wiki","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"^0.22.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"start":"bower install && http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js","e2e-debug":"protractor debug test/protractor-conf.js"},"_id":"http-backend-proxy@1.3.1","_shasum":"423b0767c8b87411679f9162dcdb2ac3762127d9","_from":".","_npmVersion":"1.4.7","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}],"dist":{"shasum":"423b0767c8b87411679f9162dcdb2ac3762127d9","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.3.1.tgz","integrity":"sha512-5VrWDdW5ZaOaeyyuBpfDViHFeTAJe1vEyg0hU6hMsUiyoNq3h/q+R23VY80wbRlRUUiGOwEjiedywkoaZMhf5Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDk2D2CXiI6ZJ9/3x+AsKtkkj18Bmr0GLf4LekX62PM/gIhANuLoWagWpr/bwSABmLBzy8xOHIYdIksyRmNes9/zoyq"}]}},"1.3.2":{"name":"http-backend-proxy","private":false,"version":"1.3.2","description":"A proxy that allows configuring the AngularJs e2e $httpBackend service from within protractor based tests and enables protractor-to-browser data sharing.","homepage":"https://github.com/kbaltrinic/http-backend-proxy/wiki","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing","ngMockE2E"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"^0.22.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"start":"bower install && http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js","e2e-debug":"protractor debug test/protractor-conf.js"},"_id":"http-backend-proxy@1.3.2","_shasum":"7676f2a7a41685a5dbe618911fb89975adbc62a3","_from":".","_npmVersion":"1.4.7","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}],"dist":{"shasum":"7676f2a7a41685a5dbe618911fb89975adbc62a3","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.3.2.tgz","integrity":"sha512-LXtl2PV1cjbgxSzsdp2j5B7VOW8UccH6q8nufzXffMr5sq9bMeykMhIO50YUxXtPMbWYs/ssW+sGJsvA0V9Geg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCE35Es6yNlVbLfOzlzKVkMMlNIrRRQY6BQZXO6WuWvTQIgE00fgsjxNLNSZELjHy+RJCToN2vpcutzTsMPlFoXNMY="}]}},"1.3.3":{"name":"http-backend-proxy","private":false,"version":"1.3.3","description":"A proxy that allows configuring the AngularJs e2e $httpBackend service from within protractor based tests and enables protractor-to-browser data sharing.","homepage":"https://github.com/kbaltrinic/http-backend-proxy/wiki","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing","ngMockE2E"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"^0.22.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"start":"bower install && http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js","e2e-debug":"protractor debug test/protractor-conf.js"},"_id":"http-backend-proxy@1.3.3","_shasum":"da20135b5f1e5ab4cd42e86669d793a5f39880d7","_from":".","_npmVersion":"1.4.7","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}],"dist":{"shasum":"da20135b5f1e5ab4cd42e86669d793a5f39880d7","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.3.3.tgz","integrity":"sha512-a7kSZsDqgFxJY2quJmMzFpBltecgsNt0IxyvKbRGmSIQmSsHM+DBjp1ZdHlBRo17bez/YkW/cBJpNex1wfwBfQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC48L2KLfqcS+G+o87soLDExTuxFHiQf4S6W5rv5iW5BwIgCXYl4cbuSUTdZiWfdkg6Qrx0e0DKRplg6Z2H5w/GJzM="}]}},"1.4.0":{"name":"http-backend-proxy","private":false,"version":"1.4.0","description":"A proxy that allows configuring the AngularJs e2e $httpBackend service from within protractor based tests and enables protractor-to-browser data sharing.","homepage":"https://github.com/kbaltrinic/http-backend-proxy/wiki","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing","ngMockE2E"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"^0.22.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"start":"bower install && http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js","e2e-debug":"protractor debug test/protractor-conf.js"},"_id":"http-backend-proxy@1.4.0","dist":{"shasum":"85722f4e20eaec45ff7140590c8e534320a4a4be","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.4.0.tgz","integrity":"sha512-YW4bQEL79TqSgqufJKcIpR9pAvMn0iaEXVao7N0ZDXzrroU0FG4YSfuRwR9UrAzE2Yr9PLDbqZt60GAv5XVIJQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDEmukOR+uPSGnTd4UEMVuSpl4UvPHe3h0xRHgcmH+k+QIgDTL5lqsxyMXygagqJuRUZktNTIV8+D1UEazBAw5xKaQ="}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}]},"1.4.1":{"name":"http-backend-proxy","private":false,"version":"1.4.1","description":"A proxy that allows configuring the AngularJs e2e $httpBackend service from within protractor based tests and enables protractor-to-browser data sharing.","homepage":"https://github.com/kbaltrinic/http-backend-proxy/wiki","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing","ngMockE2E"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"^0.22.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"start":"bower install && http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js","e2e-debug":"protractor debug test/protractor-conf.js"},"_id":"http-backend-proxy@1.4.1","dist":{"shasum":"79b51efce5bbe3771db22b32b400b3016e1fe31e","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.4.1.tgz","integrity":"sha512-3PBXLMmzNMIZAkBb5kjNWQy3mhFcf+edb2kVJ5IJggslX9sdJEK/AlVTWb30DfC+6qo3T9gGBGzkrsHsSXxWxA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICW4SuQyaTZigf1vpJifAarp/M+eR4vQKUuCtmYJ5O9lAiAWYDtWE+rPY4LND+IPGu8sFHvAL4PDjUFA99IeNWJSCg=="}]},"_from":".","_npmVersion":"1.3.2","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}]},"1.4.2":{"name":"http-backend-proxy","private":false,"version":"1.4.2","description":"A proxy that allows configuring the AngularJs e2e $httpBackend service from within protractor based tests and enables protractor-to-browser data sharing.","homepage":"https://github.com/kbaltrinic/http-backend-proxy/wiki","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing","ngMockE2E"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.3","protractor":"^0.22.0","http-server":"^0.6.1","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"start":"bower install && http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js","e2e-debug":"protractor debug test/protractor-conf.js"},"gitHead":"cf3376a0b4f291fccfbf7daf8cfa3dfaba49a28a","_id":"http-backend-proxy@1.4.2","_shasum":"77afdc6fb30d8950730837500da408c51d1ca561","_from":".","_npmVersion":"2.2.0","_nodeVersion":"0.10.25","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}],"dist":{"shasum":"77afdc6fb30d8950730837500da408c51d1ca561","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.4.2.tgz","integrity":"sha512-wbUR64KRH6eMDunMWMBg3sqfb39ayLDelJGn+e4bNtFMB2j6JM12xXL1eP6FJSJyJUcdqTuNJ5vrDP3J21xsQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD40xeUadjZT3SXz4F9seeCTEftpKZgsKbDAs1wpZ6wqAIgTkRkNdBv8Y5B28ahQv58fWp/UUx78pgQSaC+DpAzu78="}]}},"1.4.3":{"name":"http-backend-proxy","private":false,"version":"1.4.3","description":"A proxy that allows configuring the AngularJs e2e $httpBackend service from within protractor based tests and enables protractor-to-browser data sharing.","homepage":"https://github.com/kbaltrinic/http-backend-proxy/wiki","main":"test/lib/http-backend-proxy.js","repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"license":"MIT","keywords":["angular","angularjs","protractor","e2e","httpBackend","testing","ngMockE2E"],"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"devDependencies":{"jasmine-node":"^1.14.5","protractor":"^2.1.0","http-server":"^0.8.0","bower":"^1.3.1"},"engines":{"node":">=0.10.0"},"scripts":{"start":"bower install && http-server -p 8000","test":"jasmine-node test/unit/","test-watch":"jasmine-node --autotest --watch test/lib/ --color test/unit/","update-webdriver":"webdriver-manager update","e2e":"protractor test/protractor-conf.js","e2e-debug":"protractor debug test/protractor-conf.js"},"gitHead":"668f8e2d15c76299eabcebc0ebaeeda5c7091578","_id":"http-backend-proxy@1.4.3","_shasum":"9454879c8b0f15863d59793f16fd39cb2333ce29","_from":".","_npmVersion":"2.2.0","_nodeVersion":"0.10.25","_npmUser":{"name":"kbaltrinic","email":"kenneth@baltrinic.com"},"maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}],"dist":{"shasum":"9454879c8b0f15863d59793f16fd39cb2333ce29","tarball":"https://registry.npmjs.org/http-backend-proxy/-/http-backend-proxy-1.4.3.tgz","integrity":"sha512-7M42LmtdY6ex7qn+mkEUZ0pZYO60xJ+W91LZBqUmCJrf+93m9L07m68AtpuDBsVjExDV7kmtDHskiHAyGb/hVA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDzJ/ynaoDcQtkZEPCrY9NUrYA7nA9FY6G7c21J48q+9AIhALPL9xO+JUv3N5JoHSoCsR0XeryRAzlS+KhbKhLx2tsS"}]}}},"readme":"#$httpBackend Proxy\n[![Build Status](https://travis-ci.org/kbaltrinic/http-backend-proxy.svg?branch=master)](https://travis-ci.org/kbaltrinic/http-backend-proxy)\n\nThis is a node module for use with the [AngularJS Protractor][protractor] end-to-end testing framework.  It allows you to make configuration calls to [$httpBackend][httpBackend] from within Protractor itself as well as share data and functions between the test environment and the browser.  Being able to configuring the mock back end along side the tests that depend upon it improves the modularity, encapsulation and flexibility of your tests.  The proxy allows $httpBackend to live up to its full potential, making it easier to test angular web applications in abstraction from their back end services.\n\n### Credits\nThe proxy itself is my own work.  However much of the test application and project structure, etc. is based off of [the angular-seed project][angular-seed].  This includes significant parts of this README.\n\n###Release Notes and Documentation\nSee the [wiki](https://github.com/kbaltrinic/http-backend-proxy/wiki/Release-Notes) for release note.  Documentation is in the process of being moved from this readme (which is getting too long) to the wiki.  If you are reading this on NPM, I recommend you [look on github](https://github.com/kbaltrinic/http-backend-proxy/blob/master/README.md) for the most recent version.  Documentation often gets updated/improved there without a release to NPM.\n\nThe proxy has been tested with the lastest .x versions of the Angular.js from the 1.2, 1.3 and 1.4 series through 1.4.3.  It has been tested with the latest .x versions of Protractor from the 0.24, 1.8 and 2.1 series through 2.1.0.\n\n## Getting and Using the Proxy\nThe proxy is [available via npm](https://www.npmjs.org/package/http-backend-proxy) and can be installed into your project by calling `npm install http-backend-proxy` or better yet, just add `http-backend-proxy` to devDependencies in your `package.json` file.  The current version is 1.4.2 and is released under the MIT license.  Source code can be found on [GitHub](https://github.com/kbaltrinic/http-backend-proxy).\n\nTo instantiate an instance of the proxy, require it and create a new instance:\n```JavaScript\nvar HttpBackend = require('http-backend-proxy');\nvar proxy = new HttpBackend(browser);\n```\n`browser` is, of course, the protractor browser object.  A configuration object may be passed as a second argument to the constructor.  Available configuration options are discussed where appropriate below.\n\nThe proxy supports the same basic interface as Angular's $httpBackend so [start with its docs][httpBackend].  Note that all proxied methods return promises in the fashion of most other Protractor methods except when buffering is turned on. (See Buffered Mode below.)  Beyond the $httpBackend API, the proxy adds a few additional methods which are discussed in the following sections.\n\nSee the end-to-end tests in `test/e2e` for some examples of usage.\n\n###Buffered Mode\nIt is possible to use the proxy in a 'buffered' mode by adding `buffer: true` to the configuration object passed to proxy constructor.  When buffering is enabled, proxied methods return void and do not immediately pass their calls through to the browser. Calling `flush()` will pass all buffered calls through to the browser at once and return a promise that will be fulfilled after all calls have been executed.\n\nBuffering is the generally recommended approach because in most cases you will need to make numerous calls to the proxy to set things up the way you want them for a given spec.  Buffering will reduce the number of remote calls and considerably speed up your test setup.\n\n###Calling Functions and Sharing Data between Tests and Browser\nUsing the proxy to configure $httpBackend for simple calls is, well, simple:\n```JavaScript\nproxy.whenGET('/logoff').respond(200);\n```\nBut what if I want to return some big piece of JSON?  If we were coding our test in the browser we might write something like:\n```JavaScript\nvar searchResults = require('./mock-data/searchResults.json');\n$httpBackend.whenGET('/search&q=beatles').respond(200, searchResults)\n```\nThis too will work just fine as long as at the time you call `respond()` on the proxy, searchResults resolves to a JSON object (or anything you would expect to find in a JSON object: strings, numbers, regular expressions, arrays, etc.)\n\nTo get a little fancier, you can even do this:\n```JavaScript\nproxy.when('GET', /.*/)\n    .respond(function(method, url){return [200, 'You called: ' + url];});\n```\nThe proxy will serialize the function and send it up to the browser for execution.\n\nBut what about:\n```JavaScript\nvar searchResults = require('./mock-data/searchResults.json');\n\nfunction getQueryTermsFrom(url){  ... implementation omitted ... };\n\nproxy.when('GET', /search\\?q=.*/)\n    .respond(function(method, url){\n      var term = getQueryTermFrom(url);\n      var fixedUpResponse = searchResults.replace(/__TERM__/, term);\n      return [200, fixedUpResponse];\n    });\n```\nNow we have a problem.  The proxy can serialize the function just fine and send it to the browser, but when it gets there, `getQueryTermFrom` and `searchResults` are not going to resolve.  This calls for...\n\n####Using the Context Object\nThe proxy provides a special object called the context object that is intended to help out in theses kinds of situations.  The context object is a property of the proxy, called `context` oddly enough, the value of which will be synchronized between the proxy and the browser-side $httpBackend before any proxied calls are executed on the browser.  With this object in place we can now do the following:\n\n```JavaScript\nvar searchResults = require('./mock-data/searchResults.json');\n\nproxy.context = {\n  searchResults: searchResults,\n  getQueryTermsFrom: function (url){  ... implementation omitted ... };\n}\n\nproxy.when('GET', /search\\?q=.*/)\n    .respond(function(method, url){\n      var term = $httpBackend.context.getQueryTermFrom(url);\n      var fixedUpResponse = $httpBackend.context.searchResults.replace(/__TERM__/, term);\n      return [200, fixedUpResponse];\n    });\n```\n\n*Hint:* If we rename our in-test proxy from `proxy` to `$httpBackend`, our tests will more easily get through any linting we may have set up.\n\nTwo caveats to the above: First, the context is limited to the following data types: strings, numbers, booleans, null, regular expresions, dates, functions, and arrays and hashes (simple objects) that in turn contain only said types, including further arrays and/or hashes.  Second, any functions defined on the context object (`getQueryTermsFrom` in our example) must themselves either be self-contained or only reference other functions and values on the context object (or available globally in the browser, but lets not go there...)\n\nWhen buffering is turned off, the context object is synchronized with the browser before every call to `respond()`.  When buffering is turned on, this synchronization occurs as part of the call to `flush()`.  This is important, because it is the value of the context object at the time of synchronization, not at the point when `respond()` is called on the proxy, that determines its value in the browser.  More precisely, since values in the context object may not even be evaluated in the browser until an HTTP call occurs, the value at the time of the HTTP call will be the value of the object as of the most recent prior synchronization.  Said another way, there is no closure mechanism in play here.  Because of this behavior, it is also possible to manually synchronized the context object at any time.  See below for how and why you might want to do this.\n\n####Configuring the Context Object\nIf for some reason you don't like your context object being called 'context' (or more importantly, if 'context' should turn out to conflict with a future property of $httpBackend), it can be renamed by adding `contextField: \"a-new-field-name\"` to the configuration object that the proxy is constructed with.  You can also disable the auto-synchronization of the context object described above by passing `contextAutoSync: false`.  If you do, you will need to manually invoke synchronization.\n\n####Manually Synchronizing Contexts\nThe state of the context object can be synchronized manually at any time by calling `proxy.syncContext()`.  This does not flush the buffer or otherwise send any new configuration to the remote $httpBackend instance.  It simply synchronizes the state of the local and in-browser context objects.  `syncContext` returns a promise.\n\nWhy do this?  Consider the above example where we have a search URL whose return value is essentially defined as context.searchResults.  If we can update the context in between tests, we can effectively cause search to return different results for each test.  This makes it easy, for example, to test for correct behavior when some, none, and more-than-expected results are returned.\n\nTo avoid having to write this awkward code:\n```JavaScript\nproxy.context = {\n  searchResults: searchResults,\n  getQueryTermsFrom: function (url){  ... implementation omitted ... };\n}\n\nproxy.when( ... );\n\n... do some tests ...\n\nproxy.context.searchResults = emptyResults;\nproxy.syncContext();\n\n... do some more tests ...\n\n//rinse, wash, repeat...\n```\nyou can pass the new context directly to syncContext like so:\n```JavaScript\nproxy.syncContext({searchResults: emptyResults});\n```\nThe above will *merge* the provided object with any existing context and synchronize the result.  Merging allows you to avoid re-specifying the entire context object.  Calling `syncContext` in this manner also updates the instance of the context object on the local proxy as well.\n\nNote that the merge behavior only works if both the current and newly provided values are simple javascript objects.  If either value is anything but, then simple assignment is used and the value passed to `syncContext` will completely replace the prior value.  Examples of javascript objects that are not 'simple' and will not be merged are arrays, dates, regular expressions and pretty much anything created with the new keyword.  Except for arrays and regular expressions, you shouldn't be using most of these anyway as they would never be returned from an HTTP call.  The proxy would likely not correctly serialize them either.\n\nMoreover, merging is only performed for the top-level object.  Nested objects are treated atomically and simply replaced.\n\nIf any of this is confusing the [syncContext unit tests](https://github.com/kbaltrinic/http-backend-proxy/blob/master/test/unit/sync-context-spec.js) may help clear it up and give detailed examples of the behavior.\n\n###Configuring $httpBackend upon Page Load\nAll of the above works great for setting up mock HTTP responses for calls that will be made in response to user interaction with a loaded page.  But what about mocking data that your Angular application requests upon page load?  The proxy supports doing this through its `onLoad` qualifier.  Any configuration of the $httpBackend that needs to happen as part of the Angular applications initialization should be specified as follows:\n\n```JavaScript\nproxy.onLoad.when(...).respond(...);\n```\nAll calls to $httpBackend that are set up in this manner will be buffered and sent to the browser using Protractor's [addMockModule][addMockModule] capability.  The proxy hooks into the `browser.get()` method such that when your tests call `get()`, the proxy gathers all calls made to `onLoad...` and wraps them in an Angular module that will execute them in its `run()` callback.  The proxy also makes the current value of its context object available within the callback such that it can be reference in the same manner as with post-load calls.\n\nCalls made using the `onLoad` qualifier are cumulative.  For example:\n\n```JavaScript\nproxy.onLoad.whenGET('/app-config').respond(...);\nbrowser.get('index.html');\n//The /app-config endpoint is configured as part of initializing the index.html page\n\n... do some tests...\n\nproxy.onLoad.whenGET('/user-prefs').respond(...);\nbrowser.get('my-account.html');\n//The /app-config and /user-prefs endpoints are both configured as part of initializing the my-accounts.html page\n\n... more tests ...\n\n```\nWhen this is not desired, it is possible to reset the proxy's buffer of commands to send upon page load by calling `proxy.onLoad.reset()`.  This also releases the hook into `browser.get()` which the proxy creates when a call is registered using `onLoad`.  *To ensure that tests using onLoad do not impact other tests, it is highly recommended that `reset()` be called as part of test clean-up for any tests that use `onLoad`.  Further, protractor versions prior to 0.19.0 do not support the `browser.removeMockModule()` method which `reset` uses.  Reset will silently fail to remove the module in this case.  If you are using a protractor version prior to 0.19.0 you can invoke `browser.clearMockModules()` yourself and deal with the consequences, if any, of having all modules removed.  For this reason, use of `onLoad` with earlier versions of Protractor is not recommended.*\n\nNote that the buffer used for calls against `onLoad` is separate from the buffer for calls made directly against the proxy (when buffering is enabled).  Only the former buffer is resettable.\n\nAgain, [looking at the tests](https://github.com/kbaltrinic/http-backend-proxy/blob/master/test/unit/onLoad-spec.js) should help clarify the proxy's `onLoad` behavior.\n\n###Resetting the Mock\nThe underlying $httpBackend mock does not support resetting the set of configured calls.  So there is no way to do this through the proxy either.  The simplest solution is to use `browser.get()` to reload your page.  This of course resets the entire application state, not just that of the $httpBackend.  Doing so may not seem ideal but if used wisely will give you good test isolation as well resetting the proxy.  Alternately, you can use the techniques described under context synchronization above to modify the mock's behavior for each test.\n\n## The Test-Harness Application\n\nThe angular application that makes up most of this repository is simply a test harness for the proxy.  It enables testing the proxy by way of Protractor.  However it can also be used to manually tests the 'hard-coded' $httpBackend configuration set up in `app.js`.  Manual testing can useful for debugging problems during proxy development.\n\nChance are, unless you plan to contribute to the development of http-backend-proxy, you will never need to load the test harness and can safely skip this section.\n\n###Setup\n\n#### Install Dependencies\n\nThere are three kinds of dependencies in this project: tools, angular framework code and bootstrap css.  The tools help us manage and test the application.\n\n* We get the tools we depend upon via `npm`, the [node package manager][npm].\n* We get the angular code via `bower`, a [client-side code package manager][bower].\n* I added `bootstrap.css` as a hard-coded dependency under `app/css` just to make the test harness look nice. :-)  Strictly speaking it is not needed.\n\nNone of these dependencies are needed for http-backend-proxy itself.  They are only needed for the test harness.  Thus the project is configured to only install the npm dependencies if you specify the `--dev` option on your `npm install` command.  Likewise, the bower dependencies are installed when you do `npm run` (below) to start the test harness for the first time.\n\n\nOnce the node (npm) modules and bower moduels are installed, you should find that you have two new\nfolders in your project.\n\n* `node_modules` - contains the npm packages for the tools we need\n* `bower_components` - contains the angular framework files\n\n#### Run the Test Harness\n\nThe project is preconfigured with a simple development web server to host the test harness.  The simplest way to start\nthis server is:\n\n```\nnpm start\n```\n\nNow browse to the app at `http://localhost:8000/app/index.html`.\n\n\n### Directory Layout\n\n    app/                --> all of the files to be used in production\n      css/              --> css files\n        app.css         --> default stylesheet\n        bootstrap.css   --> bootstrap stylesheet\n      index.html        --> that test app's single page and view.\n      js/               --> javascript files\n        app.js          --> the application's angular code\n\n    test/               --> test config and source files\n      protractor-conf.js    --> config file for running e2e tests with Protractor\n      e2e/                  --> end-to-end specs\n        ...\n      lib/\n        http-backend-proxy.js  ==>This is the proxy library itself.\n      unit/                 --> unit level specs/tests\n        ...\n\n## Testing\n\nThere are two kinds of tests in the project: Unit tests and end-to-end tests.\n\n### Running the Unit Tests\n\nThe project contains unit tests for testing the proxy behavior in abstraction from Protractor and Selenium.  These are written in [Jasmine][jasmine] and run using the [Jasmine-Node][jasmine-node] test runner.\n\n* the unit tests are found in `test/unit/`.\n\nThe easiest way to run the unit tests is to use the supplied npm script:\n\n```\nnpm test\n```\n\nThis script will start the Jasmine-Node test runner to execute the unit tests.\n\nIf you are actually doing development work on the proxy itself (Thank you!) and want to run the tests continuously as you work, use the following command line.\n\n\n```\nnpm run test-watch\n```\n\nThis will watch both the `test/unit` and `test/lib` directories.\n\n### Running the End-to-End Tests\n\nThe project comes with end-to-end tests, again written in [Jasmine][jasmine]. These tests\nare run using Protractor.  They also demonstrate how to actually use the proxy to manipulate $httpBackend in your tests.  I recommend taking a look.\n\n* the configuration is found at `test/protractor-conf.js`\n* the end-to-end tests are found in `test/e2e/`\n\nTo run them, first start the test harness.\n\n```\nnpm start\n```\n\nIn addition, since Protractor is built upon WebDriver we need to install this.  The angular-seed\nproject comes with a predefined script to do this:\n\n```\nnpm run update-webdriver\n```\n\nThis will download and install the latest version of the stand-alone WebDriver tool.\n\nOnce you have ensured that the development web server hosting the test harness is up and running\nand WebDriver is updated, you can run the end-to-end tests using the supplied npm script:\n\n```\nnpm run e2e\n```\n\nThis script will execute the end-to-end tests against the application being hosted on the\ndevelopment server.\n\n##Feedback and Support\nTo provide feedback or get support, please [post an issue][issues] on the  GitHub project.\n\n[angular-seed]: https://github.com/angular/angular-seed\n[httpBackend]: http://docs.angularjs.org/api/ngMockE2E/service/$httpBackend\n[addMockModule]: https://github.com/angular/protractor/blob/master/docs/api.md#protractorprototypeaddmockmodule\n[bower]: http://bower.io\n[npm]: https://www.npmjs.org/\n[node]: http://nodejs.org\n[protractor]: https://github.com/angular/protractor\n[jasmine]: http://pivotal.github.com/jasmine/\n[jasmine-node]: https://github.com/mhevery/jasmine-node\n[http-server]: https://github.com/nodeapps/http-server\n[issues]: https://github.com/kbaltrinic/http-backend-proxy/issues","maintainers":[{"name":"kbaltrinic","email":"kenneth@baltrinic.com"}],"time":{"modified":"2022-06-18T22:09:18.701Z","created":"2014-04-28T16:55:06.132Z","1.0.0":"2014-04-28T16:55:06.132Z","1.1.0":"2014-04-29T18:18:24.364Z","1.1.1":"2014-04-29T20:49:47.157Z","1.2.0":"2014-04-30T12:42:52.815Z","1.2.1":"2014-04-30T14:32:02.403Z","1.3.0":"2014-05-02T19:58:56.863Z","1.3.1":"2014-05-06T04:42:01.492Z","1.3.2":"2014-05-06T14:58:23.847Z","1.3.3":"2014-05-06T15:47:16.403Z","1.4.0":"2014-09-07T04:56:01.811Z","1.4.1":"2014-09-08T04:07:06.192Z","1.4.2":"2015-01-18T17:39:31.963Z","1.4.3":"2015-07-18T07:39:30.194Z"},"keywords":["angular","angularjs","protractor","e2e","httpBackend","testing","ngMockE2E"],"repository":{"type":"git","url":"https://github.com/kbaltrinic/http-backend-proxy"},"author":{"name":"Kenneth Baltrinic","email":"kenneth@baltrinic.com"},"bugs":{"url":"https://github.com/kbaltrinic/http-backend-proxy/issues"},"license":"MIT","readmeFilename":"README.md","homepage":"https://github.com/kbaltrinic/http-backend-proxy/wiki"}