@aws-sdk/client-lex-runtime-service
Version:
AWS SDK for JavaScript Lex Runtime Service Client for Node.js, Browser and React Native
853 lines (852 loc) • 81.3 kB
JavaScript
import { __assign, __awaiter, __generator, __read } from "tslib";
import { HttpRequest as __HttpRequest } from "@aws-sdk/protocol-http";
import { LazyJsonString as __LazyJsonString, extendedEncodeURIComponent as __extendedEncodeURIComponent, } from "@aws-sdk/smithy-client";
export var serializeAws_restJson1DeleteSessionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {
var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
headers = {};
resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/session";
if (input.botName !== undefined) {
labelValue = input.botName;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: botName.");
}
resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: botName.");
}
if (input.botAlias !== undefined) {
labelValue = input.botAlias;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: botAlias.");
}
resolvedPath = resolvedPath.replace("{botAlias}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: botAlias.");
}
if (input.userId !== undefined) {
labelValue = input.userId;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: userId.");
}
resolvedPath = resolvedPath.replace("{userId}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: userId.");
}
return [4 /*yield*/, context.endpoint()];
case 1:
_a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port;
return [2 /*return*/, new __HttpRequest({
protocol: protocol,
hostname: hostname,
port: port,
method: "DELETE",
headers: headers,
path: resolvedPath,
body: body,
})];
}
});
}); };
export var serializeAws_restJson1GetSessionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {
var headers, resolvedPath, labelValue, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
headers = {};
resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/session";
if (input.botName !== undefined) {
labelValue = input.botName;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: botName.");
}
resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: botName.");
}
if (input.botAlias !== undefined) {
labelValue = input.botAlias;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: botAlias.");
}
resolvedPath = resolvedPath.replace("{botAlias}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: botAlias.");
}
if (input.userId !== undefined) {
labelValue = input.userId;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: userId.");
}
resolvedPath = resolvedPath.replace("{userId}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: userId.");
}
query = __assign({}, (input.checkpointLabelFilter !== undefined && { checkpointLabelFilter: input.checkpointLabelFilter }));
return [4 /*yield*/, context.endpoint()];
case 1:
_a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port;
return [2 /*return*/, new __HttpRequest({
protocol: protocol,
hostname: hostname,
port: port,
method: "GET",
headers: headers,
path: resolvedPath,
query: query,
body: body,
})];
}
});
}); };
export var serializeAws_restJson1PostContentCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {
var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
headers = __assign(__assign(__assign(__assign(__assign({ "content-type": "application/octet-stream", "x-amz-content-sha256": "UNSIGNED-PAYLOAD" }, (isSerializableHeaderValue(input.sessionAttributes) && {
"x-amz-lex-session-attributes": Buffer.from(__LazyJsonString.fromObject(input.sessionAttributes)).toString("base64"),
})), (isSerializableHeaderValue(input.requestAttributes) && {
"x-amz-lex-request-attributes": Buffer.from(__LazyJsonString.fromObject(input.requestAttributes)).toString("base64"),
})), (isSerializableHeaderValue(input.contentType) && { "content-type": input.contentType })), (isSerializableHeaderValue(input.accept) && { accept: input.accept })), (isSerializableHeaderValue(input.activeContexts) && {
"x-amz-lex-active-contexts": Buffer.from(__LazyJsonString.fromObject(input.activeContexts)).toString("base64"),
}));
resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/content";
if (input.botName !== undefined) {
labelValue = input.botName;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: botName.");
}
resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: botName.");
}
if (input.botAlias !== undefined) {
labelValue = input.botAlias;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: botAlias.");
}
resolvedPath = resolvedPath.replace("{botAlias}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: botAlias.");
}
if (input.userId !== undefined) {
labelValue = input.userId;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: userId.");
}
resolvedPath = resolvedPath.replace("{userId}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: userId.");
}
if (input.inputStream !== undefined) {
body = input.inputStream;
}
return [4 /*yield*/, context.endpoint()];
case 1:
_a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port;
return [2 /*return*/, new __HttpRequest({
protocol: protocol,
hostname: hostname,
port: port,
method: "POST",
headers: headers,
path: resolvedPath,
body: body,
})];
}
});
}); };
export var serializeAws_restJson1PostTextCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {
var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
headers = {
"content-type": "application/json",
};
resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/text";
if (input.botName !== undefined) {
labelValue = input.botName;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: botName.");
}
resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: botName.");
}
if (input.botAlias !== undefined) {
labelValue = input.botAlias;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: botAlias.");
}
resolvedPath = resolvedPath.replace("{botAlias}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: botAlias.");
}
if (input.userId !== undefined) {
labelValue = input.userId;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: userId.");
}
resolvedPath = resolvedPath.replace("{userId}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: userId.");
}
body = JSON.stringify(__assign(__assign(__assign(__assign({}, (input.activeContexts !== undefined &&
input.activeContexts !== null && {
activeContexts: serializeAws_restJson1ActiveContextsList(input.activeContexts, context),
})), (input.inputText !== undefined && input.inputText !== null && { inputText: input.inputText })), (input.requestAttributes !== undefined &&
input.requestAttributes !== null && {
requestAttributes: serializeAws_restJson1StringMap(input.requestAttributes, context),
})), (input.sessionAttributes !== undefined &&
input.sessionAttributes !== null && {
sessionAttributes: serializeAws_restJson1StringMap(input.sessionAttributes, context),
})));
return [4 /*yield*/, context.endpoint()];
case 1:
_a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port;
return [2 /*return*/, new __HttpRequest({
protocol: protocol,
hostname: hostname,
port: port,
method: "POST",
headers: headers,
path: resolvedPath,
body: body,
})];
}
});
}); };
export var serializeAws_restJson1PutSessionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {
var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;
return __generator(this, function (_c) {
switch (_c.label) {
case 0:
headers = __assign({ "content-type": "application/json" }, (isSerializableHeaderValue(input.accept) && { accept: input.accept }));
resolvedPath = "/bot/{botName}/alias/{botAlias}/user/{userId}/session";
if (input.botName !== undefined) {
labelValue = input.botName;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: botName.");
}
resolvedPath = resolvedPath.replace("{botName}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: botName.");
}
if (input.botAlias !== undefined) {
labelValue = input.botAlias;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: botAlias.");
}
resolvedPath = resolvedPath.replace("{botAlias}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: botAlias.");
}
if (input.userId !== undefined) {
labelValue = input.userId;
if (labelValue.length <= 0) {
throw new Error("Empty value provided for input HTTP label: userId.");
}
resolvedPath = resolvedPath.replace("{userId}", __extendedEncodeURIComponent(labelValue));
}
else {
throw new Error("No value provided for input HTTP label: userId.");
}
body = JSON.stringify(__assign(__assign(__assign(__assign({}, (input.activeContexts !== undefined &&
input.activeContexts !== null && {
activeContexts: serializeAws_restJson1ActiveContextsList(input.activeContexts, context),
})), (input.dialogAction !== undefined &&
input.dialogAction !== null && { dialogAction: serializeAws_restJson1DialogAction(input.dialogAction, context) })), (input.recentIntentSummaryView !== undefined &&
input.recentIntentSummaryView !== null && {
recentIntentSummaryView: serializeAws_restJson1IntentSummaryList(input.recentIntentSummaryView, context),
})), (input.sessionAttributes !== undefined &&
input.sessionAttributes !== null && {
sessionAttributes: serializeAws_restJson1StringMap(input.sessionAttributes, context),
})));
return [4 /*yield*/, context.endpoint()];
case 1:
_a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? "https" : _b, port = _a.port;
return [2 /*return*/, new __HttpRequest({
protocol: protocol,
hostname: hostname,
port: port,
method: "POST",
headers: headers,
path: resolvedPath,
body: body,
})];
}
});
}); };
export var deserializeAws_restJson1DeleteSessionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
var contents, data;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (output.statusCode !== 200 && output.statusCode >= 300) {
return [2 /*return*/, deserializeAws_restJson1DeleteSessionCommandError(output, context)];
}
contents = {
$metadata: deserializeMetadata(output),
botAlias: undefined,
botName: undefined,
sessionId: undefined,
userId: undefined,
};
return [4 /*yield*/, parseBody(output.body, context)];
case 1:
data = _a.sent();
if (data.botAlias !== undefined && data.botAlias !== null) {
contents.botAlias = data.botAlias;
}
if (data.botName !== undefined && data.botName !== null) {
contents.botName = data.botName;
}
if (data.sessionId !== undefined && data.sessionId !== null) {
contents.sessionId = data.sessionId;
}
if (data.userId !== undefined && data.userId !== null) {
contents.userId = data.userId;
}
return [2 /*return*/, Promise.resolve(contents)];
}
});
}); };
var deserializeAws_restJson1DeleteSessionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;
var _h;
return __generator(this, function (_j) {
switch (_j.label) {
case 0:
_a = [__assign({}, output)];
_h = {};
return [4 /*yield*/, parseBody(output.body, context)];
case 1:
parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));
errorCode = "UnknownError";
errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
_b = errorCode;
switch (_b) {
case "BadRequestException": return [3 /*break*/, 2];
case "com.amazonaws.lexruntimeservice#BadRequestException": return [3 /*break*/, 2];
case "ConflictException": return [3 /*break*/, 4];
case "com.amazonaws.lexruntimeservice#ConflictException": return [3 /*break*/, 4];
case "InternalFailureException": return [3 /*break*/, 6];
case "com.amazonaws.lexruntimeservice#InternalFailureException": return [3 /*break*/, 6];
case "LimitExceededException": return [3 /*break*/, 8];
case "com.amazonaws.lexruntimeservice#LimitExceededException": return [3 /*break*/, 8];
case "NotFoundException": return [3 /*break*/, 10];
case "com.amazonaws.lexruntimeservice#NotFoundException": return [3 /*break*/, 10];
}
return [3 /*break*/, 12];
case 2:
_c = [{}];
return [4 /*yield*/, deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)];
case 3:
response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 13];
case 4:
_d = [{}];
return [4 /*yield*/, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];
case 5:
response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 13];
case 6:
_e = [{}];
return [4 /*yield*/, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)];
case 7:
response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 13];
case 8:
_f = [{}];
return [4 /*yield*/, deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)];
case 9:
response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 13];
case 10:
_g = [{}];
return [4 /*yield*/, deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)];
case 11:
response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 13];
case 12:
parsedBody = parsedOutput.body;
errorCode = parsedBody.code || parsedBody.Code || errorCode;
response = __assign(__assign({}, parsedBody), { name: "" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: "client", $metadata: deserializeMetadata(output) });
_j.label = 13;
case 13:
message = response.message || response.Message || errorCode;
response.message = message;
delete response.Message;
return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];
}
});
}); };
export var deserializeAws_restJson1GetSessionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
var contents, data;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (output.statusCode !== 200 && output.statusCode >= 300) {
return [2 /*return*/, deserializeAws_restJson1GetSessionCommandError(output, context)];
}
contents = {
$metadata: deserializeMetadata(output),
activeContexts: undefined,
dialogAction: undefined,
recentIntentSummaryView: undefined,
sessionAttributes: undefined,
sessionId: undefined,
};
return [4 /*yield*/, parseBody(output.body, context)];
case 1:
data = _a.sent();
if (data.activeContexts !== undefined && data.activeContexts !== null) {
contents.activeContexts = deserializeAws_restJson1ActiveContextsList(data.activeContexts, context);
}
if (data.dialogAction !== undefined && data.dialogAction !== null) {
contents.dialogAction = deserializeAws_restJson1DialogAction(data.dialogAction, context);
}
if (data.recentIntentSummaryView !== undefined && data.recentIntentSummaryView !== null) {
contents.recentIntentSummaryView = deserializeAws_restJson1IntentSummaryList(data.recentIntentSummaryView, context);
}
if (data.sessionAttributes !== undefined && data.sessionAttributes !== null) {
contents.sessionAttributes = deserializeAws_restJson1StringMap(data.sessionAttributes, context);
}
if (data.sessionId !== undefined && data.sessionId !== null) {
contents.sessionId = data.sessionId;
}
return [2 /*return*/, Promise.resolve(contents)];
}
});
}); };
var deserializeAws_restJson1GetSessionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, parsedBody, message;
var _g;
return __generator(this, function (_h) {
switch (_h.label) {
case 0:
_a = [__assign({}, output)];
_g = {};
return [4 /*yield*/, parseBody(output.body, context)];
case 1:
parsedOutput = __assign.apply(void 0, _a.concat([(_g.body = _h.sent(), _g)]));
errorCode = "UnknownError";
errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
_b = errorCode;
switch (_b) {
case "BadRequestException": return [3 /*break*/, 2];
case "com.amazonaws.lexruntimeservice#BadRequestException": return [3 /*break*/, 2];
case "InternalFailureException": return [3 /*break*/, 4];
case "com.amazonaws.lexruntimeservice#InternalFailureException": return [3 /*break*/, 4];
case "LimitExceededException": return [3 /*break*/, 6];
case "com.amazonaws.lexruntimeservice#LimitExceededException": return [3 /*break*/, 6];
case "NotFoundException": return [3 /*break*/, 8];
case "com.amazonaws.lexruntimeservice#NotFoundException": return [3 /*break*/, 8];
}
return [3 /*break*/, 10];
case 2:
_c = [{}];
return [4 /*yield*/, deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)];
case 3:
response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 11];
case 4:
_d = [{}];
return [4 /*yield*/, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)];
case 5:
response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 11];
case 6:
_e = [{}];
return [4 /*yield*/, deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)];
case 7:
response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 11];
case 8:
_f = [{}];
return [4 /*yield*/, deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)];
case 9:
response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 11];
case 10:
parsedBody = parsedOutput.body;
errorCode = parsedBody.code || parsedBody.Code || errorCode;
response = __assign(__assign({}, parsedBody), { name: "" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: "client", $metadata: deserializeMetadata(output) });
_h.label = 11;
case 11:
message = response.message || response.Message || errorCode;
response.message = message;
delete response.Message;
return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];
}
});
}); };
export var deserializeAws_restJson1PostContentCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
var contents, data;
return __generator(this, function (_a) {
if (output.statusCode !== 200 && output.statusCode >= 300) {
return [2 /*return*/, deserializeAws_restJson1PostContentCommandError(output, context)];
}
contents = {
$metadata: deserializeMetadata(output),
activeContexts: undefined,
alternativeIntents: undefined,
audioStream: undefined,
botVersion: undefined,
contentType: undefined,
dialogState: undefined,
inputTranscript: undefined,
intentName: undefined,
message: undefined,
messageFormat: undefined,
nluIntentConfidence: undefined,
sentimentResponse: undefined,
sessionAttributes: undefined,
sessionId: undefined,
slotToElicit: undefined,
slots: undefined,
};
if (output.headers["content-type"] !== undefined) {
contents.contentType = output.headers["content-type"];
}
if (output.headers["x-amz-lex-intent-name"] !== undefined) {
contents.intentName = output.headers["x-amz-lex-intent-name"];
}
if (output.headers["x-amz-lex-nlu-intent-confidence"] !== undefined) {
contents.nluIntentConfidence = new __LazyJsonString(Buffer.from(output.headers["x-amz-lex-nlu-intent-confidence"], "base64").toString("ascii"));
}
if (output.headers["x-amz-lex-alternative-intents"] !== undefined) {
contents.alternativeIntents = new __LazyJsonString(Buffer.from(output.headers["x-amz-lex-alternative-intents"], "base64").toString("ascii"));
}
if (output.headers["x-amz-lex-slots"] !== undefined) {
contents.slots = new __LazyJsonString(Buffer.from(output.headers["x-amz-lex-slots"], "base64").toString("ascii"));
}
if (output.headers["x-amz-lex-session-attributes"] !== undefined) {
contents.sessionAttributes = new __LazyJsonString(Buffer.from(output.headers["x-amz-lex-session-attributes"], "base64").toString("ascii"));
}
if (output.headers["x-amz-lex-sentiment"] !== undefined) {
contents.sentimentResponse = output.headers["x-amz-lex-sentiment"];
}
if (output.headers["x-amz-lex-message"] !== undefined) {
contents.message = output.headers["x-amz-lex-message"];
}
if (output.headers["x-amz-lex-message-format"] !== undefined) {
contents.messageFormat = output.headers["x-amz-lex-message-format"];
}
if (output.headers["x-amz-lex-dialog-state"] !== undefined) {
contents.dialogState = output.headers["x-amz-lex-dialog-state"];
}
if (output.headers["x-amz-lex-slot-to-elicit"] !== undefined) {
contents.slotToElicit = output.headers["x-amz-lex-slot-to-elicit"];
}
if (output.headers["x-amz-lex-input-transcript"] !== undefined) {
contents.inputTranscript = output.headers["x-amz-lex-input-transcript"];
}
if (output.headers["x-amz-lex-bot-version"] !== undefined) {
contents.botVersion = output.headers["x-amz-lex-bot-version"];
}
if (output.headers["x-amz-lex-session-id"] !== undefined) {
contents.sessionId = output.headers["x-amz-lex-session-id"];
}
if (output.headers["x-amz-lex-active-contexts"] !== undefined) {
contents.activeContexts = new __LazyJsonString(Buffer.from(output.headers["x-amz-lex-active-contexts"], "base64").toString("ascii"));
}
data = output.body;
contents.audioStream = data;
return [2 /*return*/, Promise.resolve(contents)];
});
}); };
var deserializeAws_restJson1PostContentCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, parsedBody, message;
var _p;
return __generator(this, function (_q) {
switch (_q.label) {
case 0:
_a = [__assign({}, output)];
_p = {};
return [4 /*yield*/, parseBody(output.body, context)];
case 1:
parsedOutput = __assign.apply(void 0, _a.concat([(_p.body = _q.sent(), _p)]));
errorCode = "UnknownError";
errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
_b = errorCode;
switch (_b) {
case "BadGatewayException": return [3 /*break*/, 2];
case "com.amazonaws.lexruntimeservice#BadGatewayException": return [3 /*break*/, 2];
case "BadRequestException": return [3 /*break*/, 4];
case "com.amazonaws.lexruntimeservice#BadRequestException": return [3 /*break*/, 4];
case "ConflictException": return [3 /*break*/, 6];
case "com.amazonaws.lexruntimeservice#ConflictException": return [3 /*break*/, 6];
case "DependencyFailedException": return [3 /*break*/, 8];
case "com.amazonaws.lexruntimeservice#DependencyFailedException": return [3 /*break*/, 8];
case "InternalFailureException": return [3 /*break*/, 10];
case "com.amazonaws.lexruntimeservice#InternalFailureException": return [3 /*break*/, 10];
case "LimitExceededException": return [3 /*break*/, 12];
case "com.amazonaws.lexruntimeservice#LimitExceededException": return [3 /*break*/, 12];
case "LoopDetectedException": return [3 /*break*/, 14];
case "com.amazonaws.lexruntimeservice#LoopDetectedException": return [3 /*break*/, 14];
case "NotAcceptableException": return [3 /*break*/, 16];
case "com.amazonaws.lexruntimeservice#NotAcceptableException": return [3 /*break*/, 16];
case "NotFoundException": return [3 /*break*/, 18];
case "com.amazonaws.lexruntimeservice#NotFoundException": return [3 /*break*/, 18];
case "RequestTimeoutException": return [3 /*break*/, 20];
case "com.amazonaws.lexruntimeservice#RequestTimeoutException": return [3 /*break*/, 20];
case "UnsupportedMediaTypeException": return [3 /*break*/, 22];
case "com.amazonaws.lexruntimeservice#UnsupportedMediaTypeException": return [3 /*break*/, 22];
}
return [3 /*break*/, 24];
case 2:
_c = [{}];
return [4 /*yield*/, deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)];
case 3:
response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 25];
case 4:
_d = [{}];
return [4 /*yield*/, deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)];
case 5:
response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 25];
case 6:
_e = [{}];
return [4 /*yield*/, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];
case 7:
response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 25];
case 8:
_f = [{}];
return [4 /*yield*/, deserializeAws_restJson1DependencyFailedExceptionResponse(parsedOutput, context)];
case 9:
response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 25];
case 10:
_g = [{}];
return [4 /*yield*/, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)];
case 11:
response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 25];
case 12:
_h = [{}];
return [4 /*yield*/, deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)];
case 13:
response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 25];
case 14:
_j = [{}];
return [4 /*yield*/, deserializeAws_restJson1LoopDetectedExceptionResponse(parsedOutput, context)];
case 15:
response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 25];
case 16:
_k = [{}];
return [4 /*yield*/, deserializeAws_restJson1NotAcceptableExceptionResponse(parsedOutput, context)];
case 17:
response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 25];
case 18:
_l = [{}];
return [4 /*yield*/, deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)];
case 19:
response = __assign.apply(void 0, [__assign.apply(void 0, _l.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 25];
case 20:
_m = [{}];
return [4 /*yield*/, deserializeAws_restJson1RequestTimeoutExceptionResponse(parsedOutput, context)];
case 21:
response = __assign.apply(void 0, [__assign.apply(void 0, _m.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 25];
case 22:
_o = [{}];
return [4 /*yield*/, deserializeAws_restJson1UnsupportedMediaTypeExceptionResponse(parsedOutput, context)];
case 23:
response = __assign.apply(void 0, [__assign.apply(void 0, _o.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 25];
case 24:
parsedBody = parsedOutput.body;
errorCode = parsedBody.code || parsedBody.Code || errorCode;
response = __assign(__assign({}, parsedBody), { name: "" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: "client", $metadata: deserializeMetadata(output) });
_q.label = 25;
case 25:
message = response.message || response.Message || errorCode;
response.message = message;
delete response.Message;
return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];
}
});
}); };
export var deserializeAws_restJson1PostTextCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
var contents, data;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
if (output.statusCode !== 200 && output.statusCode >= 300) {
return [2 /*return*/, deserializeAws_restJson1PostTextCommandError(output, context)];
}
contents = {
$metadata: deserializeMetadata(output),
activeContexts: undefined,
alternativeIntents: undefined,
botVersion: undefined,
dialogState: undefined,
intentName: undefined,
message: undefined,
messageFormat: undefined,
nluIntentConfidence: undefined,
responseCard: undefined,
sentimentResponse: undefined,
sessionAttributes: undefined,
sessionId: undefined,
slotToElicit: undefined,
slots: undefined,
};
return [4 /*yield*/, parseBody(output.body, context)];
case 1:
data = _a.sent();
if (data.activeContexts !== undefined && data.activeContexts !== null) {
contents.activeContexts = deserializeAws_restJson1ActiveContextsList(data.activeContexts, context);
}
if (data.alternativeIntents !== undefined && data.alternativeIntents !== null) {
contents.alternativeIntents = deserializeAws_restJson1IntentList(data.alternativeIntents, context);
}
if (data.botVersion !== undefined && data.botVersion !== null) {
contents.botVersion = data.botVersion;
}
if (data.dialogState !== undefined && data.dialogState !== null) {
contents.dialogState = data.dialogState;
}
if (data.intentName !== undefined && data.intentName !== null) {
contents.intentName = data.intentName;
}
if (data.message !== undefined && data.message !== null) {
contents.message = data.message;
}
if (data.messageFormat !== undefined && data.messageFormat !== null) {
contents.messageFormat = data.messageFormat;
}
if (data.nluIntentConfidence !== undefined && data.nluIntentConfidence !== null) {
contents.nluIntentConfidence = deserializeAws_restJson1IntentConfidence(data.nluIntentConfidence, context);
}
if (data.responseCard !== undefined && data.responseCard !== null) {
contents.responseCard = deserializeAws_restJson1ResponseCard(data.responseCard, context);
}
if (data.sentimentResponse !== undefined && data.sentimentResponse !== null) {
contents.sentimentResponse = deserializeAws_restJson1SentimentResponse(data.sentimentResponse, context);
}
if (data.sessionAttributes !== undefined && data.sessionAttributes !== null) {
contents.sessionAttributes = deserializeAws_restJson1StringMap(data.sessionAttributes, context);
}
if (data.sessionId !== undefined && data.sessionId !== null) {
contents.sessionId = data.sessionId;
}
if (data.slotToElicit !== undefined && data.slotToElicit !== null) {
contents.slotToElicit = data.slotToElicit;
}
if (data.slots !== undefined && data.slots !== null) {
contents.slots = deserializeAws_restJson1StringMap(data.slots, context);
}
return [2 /*return*/, Promise.resolve(contents)];
}
});
}); };
var deserializeAws_restJson1PostTextCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {
var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, parsedBody, message;
var _l;
return __generator(this, function (_m) {
switch (_m.label) {
case 0:
_a = [__assign({}, output)];
_l = {};
return [4 /*yield*/, parseBody(output.body, context)];
case 1:
parsedOutput = __assign.apply(void 0, _a.concat([(_l.body = _m.sent(), _l)]));
errorCode = "UnknownError";
errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
_b = errorCode;
switch (_b) {
case "BadGatewayException": return [3 /*break*/, 2];
case "com.amazonaws.lexruntimeservice#BadGatewayException": return [3 /*break*/, 2];
case "BadRequestException": return [3 /*break*/, 4];
case "com.amazonaws.lexruntimeservice#BadRequestException": return [3 /*break*/, 4];
case "ConflictException": return [3 /*break*/, 6];
case "com.amazonaws.lexruntimeservice#ConflictException": return [3 /*break*/, 6];
case "DependencyFailedException": return [3 /*break*/, 8];
case "com.amazonaws.lexruntimeservice#DependencyFailedException": return [3 /*break*/, 8];
case "InternalFailureException": return [3 /*break*/, 10];
case "com.amazonaws.lexruntimeservice#InternalFailureException": return [3 /*break*/, 10];
case "LimitExceededException": return [3 /*break*/, 12];
case "com.amazonaws.lexruntimeservice#LimitExceededException": return [3 /*break*/, 12];
case "LoopDetectedException": return [3 /*break*/, 14];
case "com.amazonaws.lexruntimeservice#LoopDetectedException": return [3 /*break*/, 14];
case "NotFoundException": return [3 /*break*/, 16];
case "com.amazonaws.lexruntimeservice#NotFoundException": return [3 /*break*/, 16];
}
return [3 /*break*/, 18];
case 2:
_c = [{}];
return [4 /*yield*/, deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)];
case 3:
response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 19];
case 4:
_d = [{}];
return [4 /*yield*/, deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)];
case 5:
response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 19];
case 6:
_e = [{}];
return [4 /*yield*/, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];
case 7:
response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 19];
case 8:
_f = [{}];
return [4 /*yield*/, deserializeAws_restJson1DependencyFailedExceptionResponse(parsedOutput, context)];
case 9:
response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 19];
case 10:
_g = [{}];
return [4 /*yield*/, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)];
case 11:
response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 19];
case 12:
_h = [{}];
return [4 /*yield*/, deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)];
case 13:
response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 19];
case 14:
_j = [{}];
return [4 /*yield*/, deserializeAws_restJson1LoopDetectedExceptionResponse(parsedOutput, context)];
case 15:
response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 19];
case 16:
_k = [{}];
return [4 /*yield*/, deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)];
case 17:
response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);
return [3 /*break*/, 19];
case 18:
parsedBody = parsedOutput.body;
errorCode = parsedBody.code || parsedBody.Code || errorCode;