UNPKG

2.43 kBTypeScriptView Raw
1import { Metadata } from './metadata';
2export interface CallMetadataOptions {
3 method_name: string;
4 service_url: string;
5}
6export type CallMetadataGenerator = (options: CallMetadataOptions, cb: (err: Error | null, metadata?: Metadata) => void) => void;
7export interface OldOAuth2Client {
8 getRequestMetadata: (url: string, callback: (err: Error | null, headers?: {
9 [index: string]: string;
10 }) => void) => void;
11}
12export interface CurrentOAuth2Client {
13 getRequestHeaders: (url?: string) => Promise<{
14 [index: string]: string;
15 }>;
16}
17export type OAuth2Client = OldOAuth2Client | CurrentOAuth2Client;
18/**
19 * A class that represents a generic method of adding authentication-related
20 * metadata on a per-request basis.
21 */
22export declare abstract class CallCredentials {
23 /**
24 * Asynchronously generates a new Metadata object.
25 * @param options Options used in generating the Metadata object.
26 */
27 abstract generateMetadata(options: CallMetadataOptions): Promise<Metadata>;
28 /**
29 * Creates a new CallCredentials object from properties of both this and
30 * another CallCredentials object. This object's metadata generator will be
31 * called first.
32 * @param callCredentials The other CallCredentials object.
33 */
34 abstract compose(callCredentials: CallCredentials): CallCredentials;
35 /**
36 * Check whether two call credentials objects are equal. Separate
37 * SingleCallCredentials with identical metadata generator functions are
38 * equal.
39 * @param other The other CallCredentials object to compare with.
40 */
41 abstract _equals(other: CallCredentials): boolean;
42 /**
43 * Creates a new CallCredentials object from a given function that generates
44 * Metadata objects.
45 * @param metadataGenerator A function that accepts a set of options, and
46 * generates a Metadata object based on these options, which is passed back
47 * to the caller via a supplied (err, metadata) callback.
48 */
49 static createFromMetadataGenerator(metadataGenerator: CallMetadataGenerator): CallCredentials;
50 /**
51 * Create a gRPC credential from a Google credential object.
52 * @param googleCredentials The authentication client to use.
53 * @return The resulting CallCredentials object.
54 */
55 static createFromGoogleCredential(googleCredentials: OAuth2Client): CallCredentials;
56 static createEmpty(): CallCredentials;
57}