mirror of https://github.com/grpc/grpc-node.git
JS: Add initial metadata options API compatibility
This commit is contained in:
parent
fe090a089a
commit
d4e1672071
|
|
@ -18,6 +18,7 @@ HTTP Connect Support | :heavy_check_mark: | :x:
|
||||||
Retries | :heavy_check_mark: | :x:
|
Retries | :heavy_check_mark: | :x:
|
||||||
Stats/tracing/monitoring | :heavy_check_mark: | :x:
|
Stats/tracing/monitoring | :heavy_check_mark: | :x:
|
||||||
Load Balancing | :heavy_check_mark: | :x:
|
Load Balancing | :heavy_check_mark: | :x:
|
||||||
|
Initial Metadata Options | :heavy_check_mark: | :x:
|
||||||
|
|
||||||
Other Properties | `grpc` | `@grpc/grpc-js`
|
Other Properties | `grpc` | `@grpc/grpc-js`
|
||||||
-----------------|--------|----------------
|
-----------------|--------|----------------
|
||||||
|
|
|
||||||
|
|
@ -44,12 +44,27 @@ function validate(key: string, value?: MetadataValue): void {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface MetadataOptions {
|
||||||
|
/* Signal that the request is idempotent. Defaults to false */
|
||||||
|
idempotentRequest?: boolean;
|
||||||
|
/* Signal that the call should not return UNAVAILABLE before it has
|
||||||
|
* started. Defaults to true. */
|
||||||
|
waitForReady?: boolean;
|
||||||
|
/* Signal that the call is cacheable. GRPC is free to use GET verb.
|
||||||
|
* Defaults to false */
|
||||||
|
cacheableRequest?: boolean;
|
||||||
|
/* Signal that the initial metadata should be corked. Defaults to false. */
|
||||||
|
corked?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class for storing metadata. Keys are normalized to lowercase ASCII.
|
* A class for storing metadata. Keys are normalized to lowercase ASCII.
|
||||||
*/
|
*/
|
||||||
export class Metadata {
|
export class Metadata {
|
||||||
protected internalRepr: MetadataObject = new Map<string, MetadataValue[]>();
|
protected internalRepr: MetadataObject = new Map<string, MetadataValue[]>();
|
||||||
|
|
||||||
|
constructor(private options?: MetadataOptions) {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the given value for the given key by replacing any other values
|
* Sets the given value for the given key by replacing any other values
|
||||||
* associated with that key. Normalizes the key.
|
* associated with that key. Normalizes the key.
|
||||||
|
|
@ -160,6 +175,10 @@ export class Metadata {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
setOptions(options: MetadataOptions) {
|
||||||
|
this.options = options;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates an OutgoingHttpHeaders object that can be used with the http2 API.
|
* Creates an OutgoingHttpHeaders object that can be used with the http2 API.
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue