Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / grpc-cloned / node_modules / @grpc / grpc-js / build / src / metadata-status-filter.js
1 "use strict";
2 Object.defineProperty(exports, "__esModule", { value: true });
3 const constants_1 = require("./constants");
4 const filter_1 = require("./filter");
5 class MetadataStatusFilter extends filter_1.BaseFilter {
6     async receiveTrailers(status) {
7         // tslint:disable-next-line:prefer-const
8         let { code, details, metadata } = await status;
9         if (code !== constants_1.Status.UNKNOWN) {
10             // we already have a known status, so don't assign a new one.
11             return { code, details, metadata };
12         }
13         const metadataMap = metadata.getMap();
14         if (typeof metadataMap['grpc-status'] === 'string') {
15             const receivedCode = Number(metadataMap['grpc-status']);
16             if (receivedCode in constants_1.Status) {
17                 code = receivedCode;
18             }
19             metadata.remove('grpc-status');
20         }
21         if (typeof metadataMap['grpc-message'] === 'string') {
22             details = decodeURI(metadataMap['grpc-message']);
23             metadata.remove('grpc-message');
24         }
25         return { code, details, metadata };
26     }
27 }
28 exports.MetadataStatusFilter = MetadataStatusFilter;
29 class MetadataStatusFilterFactory {
30     constructor(channel) {
31         this.channel = channel;
32     }
33     createFilter(callStream) {
34         return new MetadataStatusFilter();
35     }
36 }
37 exports.MetadataStatusFilterFactory = MetadataStatusFilterFactory;
38 //# sourceMappingURL=metadata-status-filter.js.map