{"_id":"@addrobots/grpc-web","_rev":"7-4b5474f4c21b65c7ce91a66b624cc579","name":"@addrobots/grpc-web","dist-tags":{"latest":"0.15.2"},"versions":{"0.12.1":{"name":"@addrobots/grpc-web","version":"0.12.1","description":"gRPC-Web client for browsers (JS/TS)","main":"dist/grpc-web-client.js","browser":"dist/grpc-web-client.umd.js","types":"dist/typings/index.d.ts","scripts":{"clean":"rm -rf dist","postbootstrap":"npm run lib:build","lib:build":"npm run clean && webpack","lib:build-dev":"npm run clean && webpack -d --mode development"},"publishConfig":{"access":"public"},"author":{"name":"Improbable"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/addrobots/grpc-web.git"},"keywords":["grpc","grpc-web","protobuf","typescript","ts"],"peerDependencies":{"google-protobuf":"^3.2.0"},"dependencies":{"browser-headers":"^0.4.0"},"devDependencies":{"@types/google-protobuf":"^3.2.5","@types/node":"^7.0.5","google-protobuf":"^3.2.0","ts-loader":"^6.0.1","typescript":"3.5.1","webpack":"^4.29.3","webpack-cli":"^3.2.3"},"bugs":{"url":"https://github.com/addrobots/grpc-web/issues"},"homepage":"https://github.com/addrobots/grpc-web#readme","_id":"@addrobots/grpc-web@0.12.1","_nodeVersion":"13.6.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-6B3/cEEeoQ9c1EXxmQQSK96raPfPoOWfNIObmnbf+KHdxvpmGA3FL0Ie/rdQfUIlFXvk6sY1B923ry80z/aNeQ==","shasum":"c4d152a66d911007e0c84970653a4c31ca3635e7","tarball":"https://registry.npmjs.org/@addrobots/grpc-web/-/grpc-web-0.12.1.tgz","fileCount":2,"unpackedSize":5013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJlidCRA9TVsSAnZWagAAKfcP/2/SazzrU2BZu8sw+luP\nYD/rouhjw+RBUiC1A9Ok0NH/qEeIB5zb8fOX9Uq1L00JK8CDOs5jeVUHrzcW\nQQr9McCQJ8cNvQq5HNMHs9hi1Hc5/L/uwvmc7DPfmBKHbLiUBAIrmanRGwI5\np3+WwIwuGSfZiyv6mrAoHTA8GchirhKKzohHpGc+0pM13xKhYEx25o5etkyj\n4++xnybF288hBHuRaBO7Ccxze3Slpd6tSngkX+ngRdFcbI48QdkMEJqceyD5\n2lfY2KkSz7uD4qvTawSirWY2rQVk2+nooYpTE+xyoE+fCvWt2j3a96WTmf9M\nhOJ1WHZczeptXmTTL+3kXGx61S1A63Fbe4nRrHgXy3dWlv6ResiDozCscPRr\ngP6ZsdLMQOk2YqRX6/GvqTxBasMu9fl3NR/dzs384ZBi0fgtHJ8cWzA2sNjX\nG26u9tG0rfsIp6DtZPDjq9Sb0anRcBC7EqUXy3dhELdeOsqcDUkzQLlYXoXG\nYKyR1PB6CPcrLHWa8OSYKrLtGL2MPxswOPZUUKxqkUuJArK9vdf+hYUTwLed\nT9rVUMI60VgpE/HOGZ/MPL7f/sGZq8EulvmkAfzCXzqjaMC54cgXaq0FRAd+\nDL8xuXMSjlompltREzNXJrrKSvOMw7iX5/OZgbEKFQSaPcdIZm6J8uxdB8Hj\nBQmB\r\n=1JyN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEUNhe7wqHSGYHaf7JgGXo13So8Tj+ZF1ipOI2+kSKqeAiBNh3uRhphTxEFY4kEMBAjVPj2LzuHTzeged8E4YeT7zQ=="}]},"maintainers":[{"name":"addrobots","email":"npm@addrobots.com"}],"_npmUser":{"name":"addrobots","email":"npm@addrobots.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-web_0.12.1_1579571357002_0.23446706993149968"},"_hasShrinkwrap":false,"deprecated":"remove to fix minor error"},"0.12.2":{"name":"@addrobots/grpc-web","version":"0.12.2","description":"gRPC-Web client for browsers (JS/TS)","main":"dist/grpc-web-client.js","browser":"dist/grpc-web-client.umd.js","types":"dist/typings/index.d.ts","scripts":{"clean":"rm -rf dist","postbootstrap":"npm run lib:build","lib:build":"npm run clean && webpack","lib:build-dev":"npm run clean && webpack -d --mode development"},"publishConfig":{"access":"public"},"author":{"name":"Improbable"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/addrobots/grpc-web.git"},"keywords":["grpc","grpc-web","protobuf","typescript","ts"],"peerDependencies":{"google-protobuf":"^3.2.0"},"dependencies":{"browser-headers":"^0.4.0"},"devDependencies":{"@types/google-protobuf":"^3.2.5","@types/node":"^7.0.5","google-protobuf":"^3.2.0","ts-loader":"^6.0.1","typescript":"3.5.1","webpack":"^4.41.5","webpack-cli":"^3.3.10"},"bugs":{"url":"https://github.com/addrobots/grpc-web/issues"},"homepage":"https://github.com/addrobots/grpc-web#readme","_id":"@addrobots/grpc-web@0.12.2","_nodeVersion":"13.6.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-ljI6HgG/39IoRHqnkrTl0I+K5zd/hS+cd/ekzxoWlscKG1quqEw7Jpjb874qzi054otXL8TxbDt74haF1Og7jQ==","shasum":"e208f50552e8c2901b0ae1da5d8ead5a205efeba","tarball":"https://registry.npmjs.org/@addrobots/grpc-web/-/grpc-web-0.12.2.tgz","fileCount":22,"unpackedSize":65763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJp7WCRA9TVsSAnZWagAAi7AP/2H702cv5PuxZhC/dP6G\nhW1GAjnX88UogbY0WDSKe+bDqb11EMLjvdZoDrSzbD/4lw9Fta1RI2kstFeC\nZKYHAK0EWqmDPyu/mEo8lgmaXNYhwuE564mv3zz7fyH8jY10iQGV7qN8YEQv\n2rFnSKy3YM5IOxFup6vezO+E188vAnQqyOMXQ0eOycuzxkgeFbxu/wAqZrJX\nS4GeWGRwfwudUhwTBgO/iz60pPB0oQtqBDcduMKZ1OF7rAhmAzf8FG2CctdC\nsSBcprwYiuqVQsvvyE0jM2UF+Y+KwJ0Cv0253gjkRtsxszBFRh7oRkmLDNof\nVTNYGCoqOsslIQkHuV2syD55DC69H9GpgB8rs+JuOhMJE3o7FzziTesrMYfS\nfvuNgGn4AHii1sdkpusDLqOY4pnam8BEXIyOSa1acrTWjWar7ayVopDocZ7e\nz2d39bgavjj0ThCkV8xXqr4azGw3RHUUkORI4jmLM3SYnY9wXu4RBoKOWAA7\nuc4qcd3Vi8eHidCirPhizxTYYFk9dMC/7+d2JPKbYpNGRGEcNPThjFcIPtKS\n04YlFTt4TeXp4m9yivcFHyaQyF5+lGTv6RGTslcFFQ8Vux04s+JTPDciokPu\nDr4s8VOZ6FII+txMeOp9Pl0XJEe+buf1Q7uqcK4Odk8ABe0mqXOi5N9pSBuK\nxwrh\r\n=sUa6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWd8keR91IaCdw7JYgXB40pggLPuKN5nakQlJv1LtH/gIgGmxijmXrfeYIMLdWkNBVUhymaP4voPKl0UEDth53clA="}]},"maintainers":[{"email":"npm@addrobots.com","name":"addrobots"},{"email":"npm@npmjs.com","name":"npm"}],"_npmUser":{"name":"addrobots","email":"npm@addrobots.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-web_0.12.2_1579589334266_0.8757948363193937"},"_hasShrinkwrap":false},"0.12.3":{"name":"@addrobots/grpc-web","version":"0.12.3","description":"gRPC-Web client for browsers (JS/TS)","main":"dist/grpc-web-client.js","browser":"dist/grpc-web-client.umd.js","types":"dist/typings/index.d.ts","scripts":{"clean":"rm -rf dist","postbootstrap":"npm run lib:build","lib:build":"npm run clean && webpack","lib:build-dev":"npm run clean && webpack -d --mode development"},"publishConfig":{"access":"public"},"author":{"name":"Improbable"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/addrobots/grpc-web.git"},"keywords":["grpc","grpc-web","protobuf","typescript","ts"],"peerDependencies":{"google-protobuf":"^3.2.0"},"dependencies":{"browser-headers":"^0.4.0"},"devDependencies":{"@types/google-protobuf":"^3.2.5","@types/node":"^7.0.5","google-protobuf":"^3.2.0","ts-loader":"^6.0.1","typescript":"3.5.1","webpack":"^4.41.6","webpack-cli":"^3.3.11"},"bugs":{"url":"https://github.com/addrobots/grpc-web/issues"},"homepage":"https://github.com/addrobots/grpc-web#readme","_id":"@addrobots/grpc-web@0.12.3","_nodeVersion":"13.6.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-fZhmCSioERES2iHfeAaVGCdPOZwX60/N4IYgWdvPrP5aRJ0MCZVERmVrglEWxZHHuP1jojLgnfNgmUtbRnj14g==","shasum":"bc6f188b793761e3b0e018876b8c4e3482a5896a","tarball":"https://registry.npmjs.org/@addrobots/grpc-web/-/grpc-web-0.12.3.tgz","fileCount":22,"unpackedSize":65763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeRQ5eCRA9TVsSAnZWagAAGscP/RTYOjAVp8jRV2EkwTWV\nFawadoI7zXJUeSiQAzl0n0/9zoWa5MzlmS7WRaZ8EzoELINzLKLwAPSlJLnH\nUvqC3rtzoCnGsxB2w4PvDUDTSMesdEy0Sk6U7My7ZVclxaW5fLTz9zIi+HQr\n/ETGgO2vxKESxKEylc0DPs9MGQZdoVSYRlthraa/UZqcB73VhsbZ0/jvCgep\ndPqFGaYG9rD/yYB+ENEe2WKxWHCS1aB3tmFtLYslxPiQM5MoNVL5YsaYVFKw\nT/Il3GmTpyIiLnRH+VvLTzv7WvFkNyVGDj5iRZtATlo42gpTJN4gOMGBey+M\nFejq4eYZbLVE0lPMNoxpNAhYoEbvYSZQJFW/Eq7iG5GHovbfRNj8U6zKa8G8\nf+u/m7drFCBJU5sFomSuQtomAQzwz6oyAXuVHWx2l6klDl40AX19yIcpsg4a\niaqQ7l5yba3HKgf/KvNo7QYFOVk8VnGjA7dUS9ebms6Z9GCQBl2JNOPiQ1Ka\nMGnInub989SqshpQyVHcryp39f6A+zBlxb4PUR83OVOvFf5Wf4dzMhJ4C2en\ndVroCs3Ag8VQLeFz3pX+PKLLZZR+4E1hKaPCraxmNMdlN/AMtU077ir3U9K2\nwAewzQdBsOX0OOVe/2A60lzLH05q+clpMjEuCG/guvJKWaxbz3lIgyJ5PCWV\nu2jp\r\n=gAKH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFDuFcjenNoPxTgXWo9idGgkqsPEv/HSSZsD+3L9rvsUAiA6tKJPZgzeL6yP5VqRIY8O5FR1W8WOquGanpf0soGNpA=="}]},"maintainers":[{"email":"npm@addrobots.com","name":"addrobots"},{"email":"npm@npmjs.com","name":"npm"}],"_npmUser":{"name":"addrobots","email":"npm@addrobots.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-web_0.12.3_1581583966217_0.0648610991284464"},"_hasShrinkwrap":false},"0.15.1":{"name":"@addrobots/grpc-web","version":"0.15.1","description":"gRPC-Web client for browsers (JS/TS)","main":"dist/grpc-web-client.js","browser":"dist/grpc-web-client.umd.js","types":"dist/typings/index.d.ts","scripts":{"clean":"rm -rf dist","postbootstrap":"npm run lib:build","lib:build":"npm run clean && webpack","lib:build-dev":"npm run clean && webpack -d --mode development"},"publishConfig":{"access":"public"},"author":{"name":"Improbable"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/addrobots/grpc-web.git"},"keywords":["grpc","grpc-web","protobuf","typescript","ts"],"peerDependencies":{"google-protobuf":"^3.14.0"},"dependencies":{"browser-headers":"^0.4.1"},"devDependencies":{"@types/google-protobuf":"^3.7.4","@types/node":"^14.14.22","google-protobuf":"^3.14.0","ts-loader":"^8.0.14","typescript":"4.1.3","webpack":"^5.19.0","webpack-cli":"^4.4.0"},"gitHead":"316317294c46991607a1285e0018be6df9821184","bugs":{"url":"https://github.com/addrobots/grpc-web/issues"},"homepage":"https://github.com/addrobots/grpc-web#readme","_id":"@addrobots/grpc-web@0.15.1","_nodeVersion":"17.7.1","_npmVersion":"8.5.4","dist":{"integrity":"sha512-nNSjx4dTv8BbYEM9XPkrQmiD7JlQiOG2tN82htwttbe2tZavb5x3qt14ZFhxNROtWKa3DMoE82JV00DhF+mO5g==","shasum":"3b42d616dce4193503c30bd8755644efff3f3d36","tarball":"https://registry.npmjs.org/@addrobots/grpc-web/-/grpc-web-0.15.1.tgz","fileCount":22,"unpackedSize":66394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMYPmACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpFjw/+Nw78IrZX9iN4G+RZdqFYe4H0pof6tDQQZ4f8EsMCRXmx0aoF\r\np1o9dCvJO/14K9QORwgde8w48eOmRCz7Kf+GgdnCZtXaYzr046TRh18fTXb4\r\nOB6wEp8pC6NAuyvI2ZB/lUym6eUN31DTJRPIvxFzW4IUgHjeNUZJy1i8ctTw\r\nlcyPqqEnb8k0EWpD9sJGX0Xr+0FM9dUr/Wyp4xLHj0cwV+9b590oG1ja1n/b\r\n+x/UDTzmFaa9HXx5/NbmyL5rFcLo1R72TTfirK9XT2ZGOd/jBnbA73P78EFF\r\nb2BD+Pz2cojsxuAnbY95UPxGXKJkQrANiCkj6fcNEGeO7YzLsd/IRdW7esTZ\r\n3SvyjBdLkklzTZCD7zqmkopTPaU1m6yo4mv3IhvbKk+q7urCF3k4p1acijtQ\r\nv2I48C4oQGqEBDIrY5PNJeMkTgHAuCy3MzsWpsKQsueT40tFbwbr3+ZgBMX4\r\nZTrA1SIk9LDZYuqjEVUIHnOxSJ/7DuoRYV0wAY5wUfAhbzdnAwadJJ6xOewP\r\nqHStb4HHSJbhpuYDpyZuU3fNw1l8FXpRlwf+dd0/5577wMvwY41KekEG3i2w\r\n9ikTRnJuA3MIbEjsC81Uj8gau3UJVsvghWUvNO1BkkZpNV+COVRsVVnz7egL\r\ngfKJAFmLPYCHIGWRi6dDqPxddS7XavKEZEw=\r\n=OKu/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCzZn5XXLMGEZfNogQd/EvU4iaIR3OCk1S8kfvqcYhgKQIgH5Ft/vBLd4qqawbpJ8G1FYwe8fGJjqbR+GHp4oOQQTY="}]},"_npmUser":{"name":"addrobots","email":"npm@addrobots.com"},"directories":{},"maintainers":[{"name":"npm","email":"npm@npmjs.com"},{"name":"addrobots","email":"npm@addrobots.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-web_0.15.1_1647412198503_0.4405363375777187"},"_hasShrinkwrap":false},"0.15.2":{"name":"@addrobots/grpc-web","version":"0.15.2","description":"gRPC-Web client for browsers (JS/TS)","main":"dist/grpc-web-client.js","browser":"dist/grpc-web-client.umd.js","types":"dist/typings/index.d.ts","scripts":{"clean":"rm -rf dist","postbootstrap":"npm run lib:build","lib:build":"npm run clean && webpack","lib:build-dev":"npm run clean && webpack -d --mode development"},"publishConfig":{"access":"public"},"author":{"name":"Improbable"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/addrobots/grpc-web.git"},"keywords":["grpc","grpc-web","protobuf","typescript","ts"],"peerDependencies":{"google-protobuf":"^3.19.4"},"dependencies":{"browser-headers":"^0.4.1"},"devDependencies":{"@types/google-protobuf":"^3.15.5","@types/node":"^17.0.21","google-protobuf":"^3.19.4","ts-loader":"^9.2.8","typescript":"4.1.3","webpack":"^5.19.0","webpack-cli":"^4.4.0"},"gitHead":"316317294c46991607a1285e0018be6df9821184","bugs":{"url":"https://github.com/addrobots/grpc-web/issues"},"homepage":"https://github.com/addrobots/grpc-web#readme","_id":"@addrobots/grpc-web@0.15.2","_nodeVersion":"17.7.1","_npmVersion":"8.5.4","dist":{"integrity":"sha512-HyFv9QxON7y4rHGrvqXi6mU9K3i3TjtmzC5xtUUhMEqxw8WkL/dN9Gv7epMm3C7nZSEBYz+Z2yLBevhTlDpHyg==","shasum":"9f76a2a1593c7df741b251de9f68a83ab6cc9a47","tarball":"https://registry.npmjs.org/@addrobots/grpc-web/-/grpc-web-0.15.2.tgz","fileCount":22,"unpackedSize":66393,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiMYqnACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqQbA/+N+aBG9DzaOql9r5HLNS6KaP+eeSow+cY/+/1jPzQIULLpbJg\r\naQzZiYofuzJHKI8CA9dTjrL3WQAqg8keUB5hf32+J8QX40hu1GxvjWofWNJs\r\nbFADpLZnQBQbVYubQprzSlZhjy4T985NcT0CxIUclxZ9RZT8mN+y9Iftt/ca\r\nPr6xpLnvsdEhnQIl06d2hbSIYJpD4/yRsrTZG7qmCUBS6tmBtcBQcahqDlmi\r\nKzwUYKmWFvvoCKz6HUBHzs8YO7/Z/NoxBF4SWJapU878iNBRg4JiImCBVMmX\r\nTZjP3soOB5FFa9nloccgrgIra2XiXxcXDHpJXkRBzfnTrKFRvG2AfD620KKk\r\n04sEsZB2NLVJakQdOWTqW0FhlrlxKCeHxzI4WDZiuXMqehHaWJaB6lcfiHBa\r\nS1kZhW7xLSkz6Tgd/PLZD8IlhWS/1/qsHmUyRSUlxINjTWwNkH/h4BsWHLiU\r\nflpVBMqqDcdA2cbM7a3DSFy5x3jJjVQmMAJZipwa7CAya5odxyB9xz4J3C2/\r\nN5neXwQxIXQ5QPJXkePBuAYON8+sIurd/4rYwaql6L4Gci9Bhp5MlzGJdIFa\r\nfGQrryRzFDY5r6jSxQiW8viwk4E1mX6egDx4u8JoFfH12WtPXhn1mP6jJVNJ\r\nJlg4BZATtCuJOtk9OxKTdW0IARwTPNENS4s=\r\n=GmAi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFFzQMeTLCuIX6rE7cXH9wS4+pWTQfffCITo08kfvDoeAiEAugDoEwYqDOx5dKHwR8ol0NZmISrsVnpzDiAbWQx7bjE="}]},"_npmUser":{"name":"addrobots","email":"npm@addrobots.com"},"directories":{},"maintainers":[{"name":"npm","email":"npm@npmjs.com"},{"name":"addrobots","email":"npm@addrobots.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/grpc-web_0.15.2_1647413927820_0.7301313005082328"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-21T01:49:16.974Z","0.12.1":"2020-01-21T01:49:17.100Z","modified":"2022-04-04T11:28:12.871Z","0.12.2":"2020-01-21T06:48:54.421Z","0.12.3":"2020-02-13T08:52:46.331Z","0.15.1":"2022-03-16T06:29:58.669Z","0.15.2":"2022-03-16T06:58:47.972Z"},"maintainers":[{"name":"npm","email":"npm@npmjs.com"},{"name":"addrobots","email":"npm@addrobots.com"}],"description":"gRPC-Web client for browsers (JS/TS)","homepage":"https://github.com/addrobots/grpc-web#readme","keywords":["grpc","grpc-web","protobuf","typescript","ts"],"repository":{"type":"git","url":"git+https://github.com/addrobots/grpc-web.git"},"author":{"name":"Improbable"},"bugs":{"url":"https://github.com/addrobots/grpc-web/issues"},"license":"Apache-2.0","readme":"# @improbable-eng/grpc-web\n> Library for making gRPC-Web requests from a browser\n\nThis library is intended for both JavaScript and TypeScript usage from a web browser or NodeJS (see [Usage with NodeJS](#usage-with-nodejs)).\n\n*Note: This only works if the server supports [gRPC-Web](https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-WEB.md)*\n\nA Golang gRPC-Web middleware and a Golang-based gRPC-Web proxy are [available here](https://github.com/improbable-eng/grpc-web).\n\nPlease see the full [gRPC-Web README](https://github.com/improbable-eng/grpc-web) for known limitations.\n\n## Installation\n\n`@improbable-eng/grpc-web` has peer dependencies of `google-protobuf` and `@types/google-protobuf`.\n\n`npm install google-protobuf @types/google-protobuf @improbable-eng/grpc-web --save`\n\n## Example Project\n\nThere is an [example project available here](https://github.com/improbable-eng/grpc-web/tree/master/client/grpc-web-react-example)\n\n## Usage Overview\n* Use [`ts-protoc-gen`](https://www.npmjs.com/package/ts-protoc-gen) with [`protoc`](https://github.com/google/protobuf) to generate `.js` and `.d.ts` files for your request and response classes. `ts-protoc-gen` can also generate gRPC service definitions with the `service=true` argument.\n  * [Go to code generation docs](docs/code-generation.md)\n* Make a request using [`unary()`](docs/unary.md), [`invoke()`](docs/invoke.md) or [`client()`](docs/client.md)\n\n```javascript\nimport {grpc} from \"@improbable-eng/grpc-web\";\n\n// Import code-generated data structures.\nimport {BookService} from \"./generated/proto/examplecom/library/book_service_pb_service\";\nimport {GetBookRequest} from \"./generated/proto/examplecom/library/book_service_pb\";\n\nconst getBookRequest = new GetBookRequest();\ngetBookRequest.setIsbn(60929871);\ngrpc.unary(BookService.GetBook, {\n  request: getBookRequest,\n  host: host,\n  onEnd: res => {\n    const { status, statusMessage, headers, message, trailers } = res;\n    if (status === grpc.Code.OK && message) {\n      console.log(\"all ok. got book: \", message.toObject());\n    }\n  }\n});\n```\n\n* Requests can be aborted/closed before they complete:\n\n```javascript\nconst request = grpc.unary(BookService.GetBook, { ... });\nrequest.close();\n```\n\n## Available Request Functions\n\nThere are three functions for making gRPC requests:\n\n### [`grpc.unary`](docs/unary.md)\nThis is a convenience function for making requests that consist of a single request message and single response message. It can only be used with unary methods.\n\n```protobuf\nrpc GetBook(GetBookRequest) returns (Book) {}\n```\n\n### [`grpc.invoke`](docs/invoke.md)\nThis is a convenience function for making requests that consist of a single request message and a stream of response messages (server-streaming). It can also be used with unary methods.\n\n```protobuf\nrpc GetBook(GetBookRequest) returns (Book) {}\nrpc QueryBooks(QueryBooksRequest) returns (stream Book) {}\n```\n\n### [`grpc.client`](docs/client.md)\n`grpc.client` returns a client. Dependant upon [transport compatibility](docs/transport.md) this client is capable of sending multiple request messages (client-streaming) and receiving multiple response messages (server-streaming). It can be used with any type of method, but will enforce limiting the sending of messages for unary methods.\n\n```protobuf\nrpc GetBook(GetBookRequest) returns (Book) {}\nrpc QueryBooks(QueryBooksRequest) returns (stream Book) {}\nrpc LogReadPages(stream PageRead) returns (google.protobuf.Empty) {}\nrpc ListenForBooks(stream QueryBooksRequest) returns (stream Book) {}\n```\n\n## Usage with NodeJS\nRefer to [grpc-web-node-http-transport](https://www.npmjs.com/package/@improbable-eng/grpc-web-node-http-transport).\n\n## All Docs\n\n* [unary()](docs/unary.md)\n* [invoke()](docs/invoke.md)\n* [client()](docs/client.md)\n* [Code Generation](docs/code-generation.md)\n* [Concepts](docs/concepts.md)\n* [Transport](docs/transport.md)\n","readmeFilename":"README.md"}