Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async function clientInteraction(remoteAddress: string) {
const client = ModuleRpcProtocolClient.getRpcClient(numberServiceDefinition, {
remoteAddress,
getGrpcWebTransport: NodeHttpTransport(),
});
// We call our unary method
const { value } = await client.increment({ value: 10 });
console.log('Value is', value);
// Now we convert a server stream into a promise. The promise resolves to
// an array containing all the messages that were streamed before the 'complete'
// event was emitted.
const result = await ModuleRpcClient.streamAsPromise(streamNumbers(client));
console.log('ping: all messages:', result);
// Here, we cancel the call right in the middle of streaming. An exception is thrown.
try {
const stream = streamNumbers(client).on('ready', () => {
setTimeout(() => stream.cancel(), 2000);
await client.transfer({
toUserId: 'u2',
amount: balanceResponseBefore.value / 2,
});
const balanceResponseAfter = await client.getBalance({});
console.log('Now balance is', balanceResponseAfter.value);
// If the user is not expected, an unauthenticated error is thrown
{
const unauthenticatedClient = ModuleRpcProtocolClient.getRpcClient(
bankingServiceDefinition,
{
remoteAddress,
clientContextConnector: new AuthClientContextConnector('u2'),
getGrpcWebTransport: NodeHttpTransport(),
},
);
try {
await unauthenticatedClient.getBalance({});
} catch (err) {
console.log('Expected error', err);
}
}
}
async function clientInteraction(remoteAddress: string) {
const client = ModuleRpcProtocolClient.getRpcClient(
bankingServiceDefinition,
{
remoteAddress,
clientContextConnector: new AuthClientContextConnector('u1'),
getGrpcWebTransport: NodeHttpTransport(),
},
);
const balanceResponseBefore = await client.getBalance({});
console.log('Balance is', balanceResponseBefore.value);
console.log('Transfering...');
await client.transfer({
toUserId: 'u2',
amount: balanceResponseBefore.value / 2,
});
const balanceResponseAfter = await client.getBalance({});
console.log('Now balance is', balanceResponseAfter.value);
// If the user is not expected, an unauthenticated error is thrown
export function runWithSupportedTransports(cb: (transport: grpc.TransportFactory | undefined) => void) {
const transports: {[key: string]: grpc.TransportFactory | undefined} = {
"httpTransport": undefined
};
if (process.env.BROWSER === "nodejs") {
grpc.setDefaultTransport(NodeHttpTransport());
}
if (!process.env.DISABLE_WEBSOCKET_TESTS) {
transports["websocketTransport"] = grpc.WebsocketTransport();
}
for (let transportName in transports) {
describe(transportName, () => {
cb(transports[transportName]);
})
}
}
import bridge from './bridge'
import { berty } from '@berty-tech/api'
import { NodeHttpTransport } from '@improbable-eng/grpc-web-node-http-transport'
const account = berty.chat.Account.create(
bridge({ transport: NodeHttpTransport(), debug: true, host: 'http://127.0.0.1:9091' }),
)
account.conversationGet(berty.chat.ConversationGetRequest.create(), (error, response) => {
console.log(error, response)
})
constructor(host: string) {
this.host = host;
if (isNode) {
grpc.setDefaultTransport(NodeHttpTransport());
}
}