@apibara/protocol 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +5 -1
- package/dist/client.js +16 -2
- package/dist/client.js.map +1 -1
- package/package.json +1 -1
- package/src/client.ts +34 -3
package/dist/client.d.ts
CHANGED
|
@@ -55,6 +55,10 @@ export declare type StreamClientArgs = {
|
|
|
55
55
|
* Grpc client options.
|
|
56
56
|
*/
|
|
57
57
|
clientOptions?: ClientOptions;
|
|
58
|
+
/**
|
|
59
|
+
* Authorization bearer token, used to authenticate with the server.
|
|
60
|
+
*/
|
|
61
|
+
token?: string;
|
|
58
62
|
/**
|
|
59
63
|
* Callback to control reconnection after receiving an error from the stream.
|
|
60
64
|
*
|
|
@@ -90,7 +94,7 @@ export declare class StreamClient {
|
|
|
90
94
|
* }
|
|
91
95
|
* ```
|
|
92
96
|
*/
|
|
93
|
-
constructor({ url, credentials, clientOptions, onReconnect }: StreamClientArgs);
|
|
97
|
+
constructor({ url, credentials, clientOptions, token, onReconnect }: StreamClientArgs);
|
|
94
98
|
/**
|
|
95
99
|
* Async iterator over messages in the stream.
|
|
96
100
|
*/
|
package/dist/client.js
CHANGED
|
@@ -30,8 +30,10 @@ class StreamClient {
|
|
|
30
30
|
* }
|
|
31
31
|
* ```
|
|
32
32
|
*/
|
|
33
|
-
constructor({ url, credentials, clientOptions, onReconnect }) {
|
|
34
|
-
|
|
33
|
+
constructor({ url, credentials, clientOptions, token, onReconnect }) {
|
|
34
|
+
const baseCredentials = credentials ?? grpc_js_1.ChannelCredentials.createSsl();
|
|
35
|
+
const credentialsWithMetadata = baseCredentials.compose(grpc_js_1.CallCredentials.createFromMetadataGenerator(createMetadataGenerator(token)));
|
|
36
|
+
this.inner = new StreamService(url, credentialsWithMetadata, {
|
|
35
37
|
'grpc.keepalive_timeout_ms': 3600000,
|
|
36
38
|
...clientOptions,
|
|
37
39
|
});
|
|
@@ -167,4 +169,16 @@ async function defaultOnReconnect(err, retryCount) {
|
|
|
167
169
|
};
|
|
168
170
|
}
|
|
169
171
|
exports.defaultOnReconnect = defaultOnReconnect;
|
|
172
|
+
/*
|
|
173
|
+
* Returns a generator that adds the given `token` to request metadata.
|
|
174
|
+
*/
|
|
175
|
+
function createMetadataGenerator(token) {
|
|
176
|
+
const metadata = new grpc_js_1.Metadata();
|
|
177
|
+
if (token) {
|
|
178
|
+
metadata.add('authorization', `bearer ${token}`);
|
|
179
|
+
}
|
|
180
|
+
return (_options, cb) => {
|
|
181
|
+
cb(null, metadata);
|
|
182
|
+
};
|
|
183
|
+
}
|
|
170
184
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/client.ts
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
CallCredentials,
|
|
3
|
+
ChannelCredentials,
|
|
4
|
+
ClientDuplexStream,
|
|
5
|
+
ClientOptions,
|
|
6
|
+
Metadata,
|
|
7
|
+
StatusObject,
|
|
8
|
+
} from '@grpc/grpc-js'
|
|
9
|
+
import { CallMetadataGenerator } from '@grpc/grpc-js/build/src/call-credentials'
|
|
2
10
|
import { v1alpha2 } from './proto'
|
|
3
11
|
import { StreamDataRequest } from './request'
|
|
4
12
|
|
|
@@ -76,6 +84,11 @@ export type StreamClientArgs = {
|
|
|
76
84
|
* Grpc client options.
|
|
77
85
|
*/
|
|
78
86
|
clientOptions?: ClientOptions
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Authorization bearer token, used to authenticate with the server.
|
|
90
|
+
*/
|
|
91
|
+
token?: string
|
|
79
92
|
/**
|
|
80
93
|
* Callback to control reconnection after receiving an error from the stream.
|
|
81
94
|
*
|
|
@@ -114,8 +127,12 @@ export class StreamClient {
|
|
|
114
127
|
* }
|
|
115
128
|
* ```
|
|
116
129
|
*/
|
|
117
|
-
constructor({ url, credentials, clientOptions, onReconnect }: StreamClientArgs) {
|
|
118
|
-
|
|
130
|
+
constructor({ url, credentials, clientOptions, token, onReconnect }: StreamClientArgs) {
|
|
131
|
+
const baseCredentials = credentials ?? ChannelCredentials.createSsl()
|
|
132
|
+
const credentialsWithMetadata = baseCredentials.compose(
|
|
133
|
+
CallCredentials.createFromMetadataGenerator(createMetadataGenerator(token))
|
|
134
|
+
)
|
|
135
|
+
this.inner = new StreamService(url, credentialsWithMetadata, {
|
|
119
136
|
'grpc.keepalive_timeout_ms': 3_600_000,
|
|
120
137
|
...clientOptions,
|
|
121
138
|
})
|
|
@@ -269,3 +286,17 @@ export async function defaultOnReconnect(
|
|
|
269
286
|
reconnect: retryCount < 5,
|
|
270
287
|
}
|
|
271
288
|
}
|
|
289
|
+
|
|
290
|
+
/*
|
|
291
|
+
* Returns a generator that adds the given `token` to request metadata.
|
|
292
|
+
*/
|
|
293
|
+
function createMetadataGenerator(token?: string): CallMetadataGenerator {
|
|
294
|
+
const metadata = new Metadata()
|
|
295
|
+
if (token) {
|
|
296
|
+
metadata.add('authorization', `bearer ${token}`)
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
return (_options, cb) => {
|
|
300
|
+
cb(null, metadata)
|
|
301
|
+
}
|
|
302
|
+
}
|