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
diff --git a/legacy-libs/grpc-cloned/node_modules/@grpc/grpc-js/build/src/metadata-status-filter.js b/legacy-libs/grpc-cloned/node_modules/@grpc/grpc-js/build/src/metadata-status-filter.js
new file mode 100644 (file)
index 0000000..d1906d5
--- /dev/null
@@ -0,0 +1,38 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const constants_1 = require("./constants");
+const filter_1 = require("./filter");
+class MetadataStatusFilter extends filter_1.BaseFilter {
+    async receiveTrailers(status) {
+        // tslint:disable-next-line:prefer-const
+        let { code, details, metadata } = await status;
+        if (code !== constants_1.Status.UNKNOWN) {
+            // we already have a known status, so don't assign a new one.
+            return { code, details, metadata };
+        }
+        const metadataMap = metadata.getMap();
+        if (typeof metadataMap['grpc-status'] === 'string') {
+            const receivedCode = Number(metadataMap['grpc-status']);
+            if (receivedCode in constants_1.Status) {
+                code = receivedCode;
+            }
+            metadata.remove('grpc-status');
+        }
+        if (typeof metadataMap['grpc-message'] === 'string') {
+            details = decodeURI(metadataMap['grpc-message']);
+            metadata.remove('grpc-message');
+        }
+        return { code, details, metadata };
+    }
+}
+exports.MetadataStatusFilter = MetadataStatusFilter;
+class MetadataStatusFilterFactory {
+    constructor(channel) {
+        this.channel = channel;
+    }
+    createFilter(callStream) {
+        return new MetadataStatusFilter();
+    }
+}
+exports.MetadataStatusFilterFactory = MetadataStatusFilterFactory;
+//# sourceMappingURL=metadata-status-filter.js.map
\ No newline at end of file