serverless-spy
Version:
CDK-based library for writing elegant integration tests on AWS serverless architecture and an additional web console to monitor events in real time.
1,167 lines (1,166 loc) • 42.4 kB
JavaScript
import { _toNum, _toStr, loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody, } from "@aws-sdk/core";
import { HttpRequest as __HttpRequest } from "@smithy/protocol-http";
import { _json, collectBody, decorateServiceException as __decorateServiceException, expectString as __expectString, take, withBaseException, } from "@smithy/smithy-client";
import { BatchEntryIdsNotDistinct, BatchRequestTooLong, EmptyBatchRequest, InvalidAddress, InvalidAttributeName, InvalidAttributeValue, InvalidBatchEntryId, InvalidIdFormat, InvalidMessageContents, InvalidSecurity, KmsAccessDenied, KmsDisabled, KmsInvalidKeyUsage, KmsInvalidState, KmsNotFound, KmsOptInRequired, KmsThrottled, MessageNotInflight, OverLimit, PurgeQueueInProgress, QueueDeletedRecently, QueueDoesNotExist, QueueNameExists, ReceiptHandleIsInvalid, RequestThrottled, ResourceNotFoundException, TooManyEntriesInBatchRequest, UnsupportedOperation, } from "../models/models_0";
import { SQSServiceException as __BaseException } from "../models/SQSServiceException";
export const se_AddPermissionCommand = async (input, context) => {
const headers = sharedHeaders("AddPermission");
let body;
body = JSON.stringify(se_AddPermissionRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_CancelMessageMoveTaskCommand = async (input, context) => {
const headers = sharedHeaders("CancelMessageMoveTask");
let body;
body = JSON.stringify(se_CancelMessageMoveTaskRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_ChangeMessageVisibilityCommand = async (input, context) => {
const headers = sharedHeaders("ChangeMessageVisibility");
let body;
body = JSON.stringify(se_ChangeMessageVisibilityRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_ChangeMessageVisibilityBatchCommand = async (input, context) => {
const headers = sharedHeaders("ChangeMessageVisibilityBatch");
let body;
body = JSON.stringify(se_ChangeMessageVisibilityBatchRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_CreateQueueCommand = async (input, context) => {
const headers = sharedHeaders("CreateQueue");
let body;
body = JSON.stringify(se_CreateQueueRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_DeleteMessageCommand = async (input, context) => {
const headers = sharedHeaders("DeleteMessage");
let body;
body = JSON.stringify(se_DeleteMessageRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_DeleteMessageBatchCommand = async (input, context) => {
const headers = sharedHeaders("DeleteMessageBatch");
let body;
body = JSON.stringify(se_DeleteMessageBatchRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_DeleteQueueCommand = async (input, context) => {
const headers = sharedHeaders("DeleteQueue");
let body;
body = JSON.stringify(se_DeleteQueueRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_GetQueueAttributesCommand = async (input, context) => {
const headers = sharedHeaders("GetQueueAttributes");
let body;
body = JSON.stringify(se_GetQueueAttributesRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_GetQueueUrlCommand = async (input, context) => {
const headers = sharedHeaders("GetQueueUrl");
let body;
body = JSON.stringify(se_GetQueueUrlRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_ListDeadLetterSourceQueuesCommand = async (input, context) => {
const headers = sharedHeaders("ListDeadLetterSourceQueues");
let body;
body = JSON.stringify(se_ListDeadLetterSourceQueuesRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_ListMessageMoveTasksCommand = async (input, context) => {
const headers = sharedHeaders("ListMessageMoveTasks");
let body;
body = JSON.stringify(se_ListMessageMoveTasksRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_ListQueuesCommand = async (input, context) => {
const headers = sharedHeaders("ListQueues");
let body;
body = JSON.stringify(se_ListQueuesRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_ListQueueTagsCommand = async (input, context) => {
const headers = sharedHeaders("ListQueueTags");
let body;
body = JSON.stringify(se_ListQueueTagsRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_PurgeQueueCommand = async (input, context) => {
const headers = sharedHeaders("PurgeQueue");
let body;
body = JSON.stringify(se_PurgeQueueRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_ReceiveMessageCommand = async (input, context) => {
const headers = sharedHeaders("ReceiveMessage");
let body;
body = JSON.stringify(se_ReceiveMessageRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_RemovePermissionCommand = async (input, context) => {
const headers = sharedHeaders("RemovePermission");
let body;
body = JSON.stringify(se_RemovePermissionRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_SendMessageCommand = async (input, context) => {
const headers = sharedHeaders("SendMessage");
let body;
body = JSON.stringify(se_SendMessageRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_SendMessageBatchCommand = async (input, context) => {
const headers = sharedHeaders("SendMessageBatch");
let body;
body = JSON.stringify(se_SendMessageBatchRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_SetQueueAttributesCommand = async (input, context) => {
const headers = sharedHeaders("SetQueueAttributes");
let body;
body = JSON.stringify(se_SetQueueAttributesRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_StartMessageMoveTaskCommand = async (input, context) => {
const headers = sharedHeaders("StartMessageMoveTask");
let body;
body = JSON.stringify(se_StartMessageMoveTaskRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_TagQueueCommand = async (input, context) => {
const headers = sharedHeaders("TagQueue");
let body;
body = JSON.stringify(se_TagQueueRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const se_UntagQueueCommand = async (input, context) => {
const headers = sharedHeaders("UntagQueue");
let body;
body = JSON.stringify(se_UntagQueueRequest(input, context));
return buildHttpRpcRequest(context, headers, "/", undefined, body);
};
export const de_AddPermissionCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
await collectBody(output.body, context);
const response = {
$metadata: deserializeMetadata(output),
};
return response;
};
export const de_CancelMessageMoveTaskCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_ChangeMessageVisibilityCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
await collectBody(output.body, context);
const response = {
$metadata: deserializeMetadata(output),
};
return response;
};
export const de_ChangeMessageVisibilityBatchCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_CreateQueueCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_DeleteMessageCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
await collectBody(output.body, context);
const response = {
$metadata: deserializeMetadata(output),
};
return response;
};
export const de_DeleteMessageBatchCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_DeleteQueueCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
await collectBody(output.body, context);
const response = {
$metadata: deserializeMetadata(output),
};
return response;
};
export const de_GetQueueAttributesCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_GetQueueUrlCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_ListDeadLetterSourceQueuesCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_ListMessageMoveTasksCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_ListQueuesCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_ListQueueTagsCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_PurgeQueueCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
await collectBody(output.body, context);
const response = {
$metadata: deserializeMetadata(output),
};
return response;
};
export const de_ReceiveMessageCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = de_ReceiveMessageResult(data, context);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_RemovePermissionCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
await collectBody(output.body, context);
const response = {
$metadata: deserializeMetadata(output),
};
return response;
};
export const de_SendMessageCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_SendMessageBatchCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_SetQueueAttributesCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
await collectBody(output.body, context);
const response = {
$metadata: deserializeMetadata(output),
};
return response;
};
export const de_StartMessageMoveTaskCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
const data = await parseBody(output.body, context);
let contents = {};
contents = _json(data);
const response = {
$metadata: deserializeMetadata(output),
...contents,
};
return response;
};
export const de_TagQueueCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
await collectBody(output.body, context);
const response = {
$metadata: deserializeMetadata(output),
};
return response;
};
export const de_UntagQueueCommand = async (output, context) => {
if (output.statusCode >= 300) {
return de_CommandError(output, context);
}
await collectBody(output.body, context);
const response = {
$metadata: deserializeMetadata(output),
};
return response;
};
const de_CommandError = async (output, context) => {
const parsedOutput = {
...output,
body: await parseErrorBody(output.body, context),
};
populateBodyWithQueryCompatibility(parsedOutput, output.headers);
const errorCode = loadRestJsonErrorCode(output, parsedOutput.body);
switch (errorCode) {
case "InvalidAddress":
case "com.amazonaws.sqs#InvalidAddress":
throw await de_InvalidAddressRes(parsedOutput, context);
case "InvalidSecurity":
case "com.amazonaws.sqs#InvalidSecurity":
throw await de_InvalidSecurityRes(parsedOutput, context);
case "OverLimit":
case "com.amazonaws.sqs#OverLimit":
throw await de_OverLimitRes(parsedOutput, context);
case "QueueDoesNotExist":
case "com.amazonaws.sqs#QueueDoesNotExist":
throw await de_QueueDoesNotExistRes(parsedOutput, context);
case "RequestThrottled":
case "com.amazonaws.sqs#RequestThrottled":
throw await de_RequestThrottledRes(parsedOutput, context);
case "UnsupportedOperation":
case "com.amazonaws.sqs#UnsupportedOperation":
throw await de_UnsupportedOperationRes(parsedOutput, context);
case "ResourceNotFoundException":
case "com.amazonaws.sqs#ResourceNotFoundException":
throw await de_ResourceNotFoundExceptionRes(parsedOutput, context);
case "MessageNotInflight":
case "com.amazonaws.sqs#MessageNotInflight":
throw await de_MessageNotInflightRes(parsedOutput, context);
case "ReceiptHandleIsInvalid":
case "com.amazonaws.sqs#ReceiptHandleIsInvalid":
throw await de_ReceiptHandleIsInvalidRes(parsedOutput, context);
case "BatchEntryIdsNotDistinct":
case "com.amazonaws.sqs#BatchEntryIdsNotDistinct":
throw await de_BatchEntryIdsNotDistinctRes(parsedOutput, context);
case "EmptyBatchRequest":
case "com.amazonaws.sqs#EmptyBatchRequest":
throw await de_EmptyBatchRequestRes(parsedOutput, context);
case "InvalidBatchEntryId":
case "com.amazonaws.sqs#InvalidBatchEntryId":
throw await de_InvalidBatchEntryIdRes(parsedOutput, context);
case "TooManyEntriesInBatchRequest":
case "com.amazonaws.sqs#TooManyEntriesInBatchRequest":
throw await de_TooManyEntriesInBatchRequestRes(parsedOutput, context);
case "InvalidAttributeName":
case "com.amazonaws.sqs#InvalidAttributeName":
throw await de_InvalidAttributeNameRes(parsedOutput, context);
case "InvalidAttributeValue":
case "com.amazonaws.sqs#InvalidAttributeValue":
throw await de_InvalidAttributeValueRes(parsedOutput, context);
case "QueueDeletedRecently":
case "com.amazonaws.sqs#QueueDeletedRecently":
throw await de_QueueDeletedRecentlyRes(parsedOutput, context);
case "QueueNameExists":
case "com.amazonaws.sqs#QueueNameExists":
throw await de_QueueNameExistsRes(parsedOutput, context);
case "InvalidIdFormat":
case "com.amazonaws.sqs#InvalidIdFormat":
throw await de_InvalidIdFormatRes(parsedOutput, context);
case "PurgeQueueInProgress":
case "com.amazonaws.sqs#PurgeQueueInProgress":
throw await de_PurgeQueueInProgressRes(parsedOutput, context);
case "KmsAccessDenied":
case "com.amazonaws.sqs#KmsAccessDenied":
throw await de_KmsAccessDeniedRes(parsedOutput, context);
case "KmsDisabled":
case "com.amazonaws.sqs#KmsDisabled":
throw await de_KmsDisabledRes(parsedOutput, context);
case "KmsInvalidKeyUsage":
case "com.amazonaws.sqs#KmsInvalidKeyUsage":
throw await de_KmsInvalidKeyUsageRes(parsedOutput, context);
case "KmsInvalidState":
case "com.amazonaws.sqs#KmsInvalidState":
throw await de_KmsInvalidStateRes(parsedOutput, context);
case "KmsNotFound":
case "com.amazonaws.sqs#KmsNotFound":
throw await de_KmsNotFoundRes(parsedOutput, context);
case "KmsOptInRequired":
case "com.amazonaws.sqs#KmsOptInRequired":
throw await de_KmsOptInRequiredRes(parsedOutput, context);
case "KmsThrottled":
case "com.amazonaws.sqs#KmsThrottled":
throw await de_KmsThrottledRes(parsedOutput, context);
case "InvalidMessageContents":
case "com.amazonaws.sqs#InvalidMessageContents":
throw await de_InvalidMessageContentsRes(parsedOutput, context);
case "BatchRequestTooLong":
case "com.amazonaws.sqs#BatchRequestTooLong":
throw await de_BatchRequestTooLongRes(parsedOutput, context);
default:
const parsedBody = parsedOutput.body;
return throwDefaultError({
output,
parsedBody,
errorCode,
});
}
};
const de_BatchEntryIdsNotDistinctRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new BatchEntryIdsNotDistinct({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_BatchRequestTooLongRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new BatchRequestTooLong({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_EmptyBatchRequestRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new EmptyBatchRequest({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_InvalidAddressRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new InvalidAddress({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_InvalidAttributeNameRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new InvalidAttributeName({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_InvalidAttributeValueRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new InvalidAttributeValue({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_InvalidBatchEntryIdRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new InvalidBatchEntryId({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_InvalidIdFormatRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new InvalidIdFormat({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_InvalidMessageContentsRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new InvalidMessageContents({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_InvalidSecurityRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new InvalidSecurity({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_KmsAccessDeniedRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new KmsAccessDenied({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_KmsDisabledRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new KmsDisabled({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_KmsInvalidKeyUsageRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new KmsInvalidKeyUsage({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_KmsInvalidStateRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new KmsInvalidState({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_KmsNotFoundRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new KmsNotFound({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_KmsOptInRequiredRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new KmsOptInRequired({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_KmsThrottledRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new KmsThrottled({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_MessageNotInflightRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new MessageNotInflight({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_OverLimitRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new OverLimit({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_PurgeQueueInProgressRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new PurgeQueueInProgress({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_QueueDeletedRecentlyRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new QueueDeletedRecently({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_QueueDoesNotExistRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new QueueDoesNotExist({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_QueueNameExistsRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new QueueNameExists({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_ReceiptHandleIsInvalidRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new ReceiptHandleIsInvalid({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_RequestThrottledRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new RequestThrottled({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_ResourceNotFoundExceptionRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new ResourceNotFoundException({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_TooManyEntriesInBatchRequestRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new TooManyEntriesInBatchRequest({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const de_UnsupportedOperationRes = async (parsedOutput, context) => {
const body = parsedOutput.body;
const deserialized = _json(body);
const exception = new UnsupportedOperation({
$metadata: deserializeMetadata(parsedOutput),
...deserialized,
});
return __decorateServiceException(exception, body);
};
const se_ActionNameList = (input, context) => {
return input
.filter((e) => e != null)
.map((entry) => {
return _toStr(entry);
});
};
const se_AddPermissionRequest = (input, context) => {
return take(input, {
AWSAccountIds: (_) => se_AWSAccountIdList(_, context),
Actions: (_) => se_ActionNameList(_, context),
Label: _toStr,
QueueUrl: _toStr,
});
};
const se_AttributeNameList = (input, context) => {
return input
.filter((e) => e != null)
.map((entry) => {
return _toStr(entry);
});
};
const se_AWSAccountIdList = (input, context) => {
return input
.filter((e) => e != null)
.map((entry) => {
return _toStr(entry);
});
};
const se_BinaryList = (input, context) => {
return input
.filter((e) => e != null)
.map((entry) => {
return context.base64Encoder(entry);
});
};
const se_CancelMessageMoveTaskRequest = (input, context) => {
return take(input, {
TaskHandle: _toStr,
});
};
const se_ChangeMessageVisibilityBatchRequest = (input, context) => {
return take(input, {
Entries: (_) => se_ChangeMessageVisibilityBatchRequestEntryList(_, context),
QueueUrl: _toStr,
});
};
const se_ChangeMessageVisibilityBatchRequestEntry = (input, context) => {
return take(input, {
Id: _toStr,
ReceiptHandle: _toStr,
VisibilityTimeout: _toNum,
});
};
const se_ChangeMessageVisibilityBatchRequestEntryList = (input, context) => {
return input
.filter((e) => e != null)
.map((entry) => {
return se_ChangeMessageVisibilityBatchRequestEntry(entry, context);
});
};
const se_ChangeMessageVisibilityRequest = (input, context) => {
return take(input, {
QueueUrl: _toStr,
ReceiptHandle: _toStr,
VisibilityTimeout: _toNum,
});
};
const se_CreateQueueRequest = (input, context) => {
return take(input, {
Attributes: (_) => se_QueueAttributeMap(_, context),
QueueName: _toStr,
tags: (_) => se_TagMap(_, context),
});
};
const se_DeleteMessageBatchRequest = (input, context) => {
return take(input, {
Entries: (_) => se_DeleteMessageBatchRequestEntryList(_, context),
QueueUrl: _toStr,
});
};
const se_DeleteMessageBatchRequestEntry = (input, context) => {
return take(input, {
Id: _toStr,
ReceiptHandle: _toStr,
});
};
const se_DeleteMessageBatchRequestEntryList = (input, context) => {
return input
.filter((e) => e != null)
.map((entry) => {
return se_DeleteMessageBatchRequestEntry(entry, context);
});
};
const se_DeleteMessageRequest = (input, context) => {
return take(input, {
QueueUrl: _toStr,
ReceiptHandle: _toStr,
});
};
const se_DeleteQueueRequest = (input, context) => {
return take(input, {
QueueUrl: _toStr,
});
};
const se_GetQueueAttributesRequest = (input, context) => {
return take(input, {
AttributeNames: (_) => se_AttributeNameList(_, context),
QueueUrl: _toStr,
});
};
const se_GetQueueUrlRequest = (input, context) => {
return take(input, {
QueueName: _toStr,
QueueOwnerAWSAccountId: _toStr,
});
};
const se_ListDeadLetterSourceQueuesRequest = (input, context) => {
return take(input, {
MaxResults: _toNum,
NextToken: _toStr,
QueueUrl: _toStr,
});
};
const se_ListMessageMoveTasksRequest = (input, context) => {
return take(input, {
MaxResults: _toNum,
SourceArn: _toStr,
});
};
const se_ListQueuesRequest = (input, context) => {
return take(input, {
MaxResults: _toNum,
NextToken: _toStr,
QueueNamePrefix: _toStr,
});
};
const se_ListQueueTagsRequest = (input, context) => {
return take(input, {
QueueUrl: _toStr,
});
};
const se_MessageAttributeNameList = (input, context) => {
return input
.filter((e) => e != null)
.map((entry) => {
return _toStr(entry);
});
};
const se_MessageAttributeValue = (input, context) => {
return take(input, {
BinaryListValues: (_) => se_BinaryList(_, context),
BinaryValue: context.base64Encoder,
DataType: _toStr,
StringListValues: (_) => se_StringList(_, context),
StringValue: _toStr,
});
};
const se_MessageBodyAttributeMap = (input, context) => {
return Object.entries(input).reduce((acc, [key, value]) => {
if (value === null) {
return acc;
}
acc[key] = se_MessageAttributeValue(value, context);
return acc;
}, {});
};
const se_MessageBodySystemAttributeMap = (input, context) => {
return Object.entries(input).reduce((acc, [key, value]) => {
if (value === null) {
return acc;
}
acc[key] = se_MessageSystemAttributeValue(value, context);
return acc;
}, {});
};
const se_MessageSystemAttributeList = (input, context) => {
return input
.filter((e) => e != null)
.map((entry) => {
return _toStr(entry);
});
};
const se_MessageSystemAttributeValue = (input, context) => {
return take(input, {
BinaryListValues: (_) => se_BinaryList(_, context),
BinaryValue: context.base64Encoder,
DataType: _toStr,
StringListValues: (_) => se_StringList(_, context),
StringValue: _toStr,
});
};
const se_PurgeQueueRequest = (input, context) => {
return take(input, {
QueueUrl: _toStr,
});
};
const se_QueueAttributeMap = (input, context) => {
return Object.entries(input).reduce((acc, [key, value]) => {
if (value === null) {
return acc;
}
acc[key] = _toStr(value);
return acc;
}, {});
};
const se_ReceiveMessageRequest = (input, context) => {
return take(input, {
AttributeNames: (_) => se_AttributeNameList(_, context),
MaxNumberOfMessages: _toNum,
MessageAttributeNames: (_) => se_MessageAttributeNameList(_, context),
MessageSystemAttributeNames: (_) => se_MessageSystemAttributeList(_, context),
QueueUrl: _toStr,
ReceiveRequestAttemptId: _toStr,
VisibilityTimeout: _toNum,
WaitTimeSeconds: _toNum,
});
};
const se_RemovePermissionRequest = (input, context) => {
return take(input, {
Label: _toStr,
QueueUrl: _toStr,
});
};
const se_SendMessageBatchRequest = (input, context) => {
return take(input, {
Entries: (_) => se_SendMessageBatchRequestEntryList(_, context),
QueueUrl: _toStr,
});
};
const se_SendMessageBatchRequestEntry = (input, context) => {
return take(input, {
DelaySeconds: _toNum,
Id: _toStr,
MessageAttributes: (_) => se_MessageBodyAttributeMap(_, context),
MessageBody: _toStr,
MessageDeduplicationId: _toStr,
MessageGroupId: _toStr,
MessageSystemAttributes: (_) => se_MessageBodySystemAttributeMap(_, context),
});
};
const se_SendMessageBatchRequestEntryList = (input, context) => {
return input
.filter((e) => e != null)
.map((entry) => {
return se_SendMessageBatchRequestEntry(entry, context);
});
};
const se_SendMessageRequest = (input, context) => {
return take(input, {
DelaySeconds: _toNum,
MessageAttributes: (_) => se_MessageBodyAttributeMap(_, context),
MessageBody: _toStr,
MessageDeduplicationId: _toStr,
MessageGroupId: _toStr,
MessageSystemAttributes: (_) => se_MessageBodySystemAttributeMap(_, context),
QueueUrl: _toStr,
});
};
const se_SetQueueAttributesRequest = (input, context) => {
return take(input, {
Attributes: (_) => se_QueueAttributeMap(_, context),
QueueUrl: _toStr,
});
};
const se_StartMessageMoveTaskRequest = (input, context) => {
return take(input, {
DestinationArn: _toStr,
MaxNumberOfMessagesPerSecond: _toNum,
SourceArn: _toStr,
});
};
const se_StringList = (input, context) => {
return input
.filter((e) => e != null)
.map((entry) => {
return _toStr(entry);
});
};
const se_TagKeyList = (input, context) => {
return input
.filter((e) => e != null)
.map((entry) => {
return _toStr(entry);
});
};
const se_TagMap = (input, context) => {
return Object.entries(input).reduce((acc, [key, value]) => {
if (value === null) {
return acc;
}
acc[key] = _toStr(value);
return acc;
}, {});
};
const se_TagQueueRequest = (input, context) => {
return take(input, {
QueueUrl: _toStr,
Tags: (_) => se_TagMap(_, context),
});
};
const se_UntagQueueRequest = (input, context) => {
return take(input, {
QueueUrl: _toStr,
TagKeys: (_) => se_TagKeyList(_, context),
});
};
const de_BinaryList = (output, context) => {
const retVal = (output || [])
.filter((e) => e != null)
.map((entry) => {
return context.base64Decoder(entry);
});
return retVal;
};
const de_Message = (output, context) => {
return take(output, {
Attributes: _json,
Body: __expectString,
MD5OfBody: __expectString,
MD5OfMessageAttributes: __expectString,
MessageAttributes: (_) => de_MessageBodyAttributeMap(_, context),
MessageId: __expectString,
ReceiptHandle: __expectString,
});
};
const de_MessageAttributeValue = (output, context) => {
return take(output, {
BinaryListValues: (_) => de_BinaryList(_, context),
BinaryValue: context.base64Decoder,
DataType: __expectString,
StringListValues: _json,
StringValue: __expectString,
});
};
const de_MessageBodyAttributeMap = (output, context) => {
return Object.entries(output).reduce((acc, [key, value]) => {
if (value === null) {
return acc;
}
acc[key] = de_MessageAttributeValue(value, context);
return acc;
}, {});
};
const de_MessageList = (output, context) => {
const retVal = (output || [])
.filter((e) => e != null)
.map((entry) => {
return de_Message(entry, context);
});
return retVal;
};
const de_ReceiveMessageResult = (output, context) => {
return take(output, {
Messages: (_) => de_MessageList(_, context),
});
};
const deserializeMetadata = (output) => ({
httpStatusCode: output.statusCode,
requestId: output.headers["x-amzn-requestid"] ?? output.headers["x-amzn-request-id"] ?? output.headers["x-amz-request-id"],
extendedRequestId: output.headers["x-amz-id-2"],
cfId: output.headers["x-amz-cf-id"],
});
const collectBodyString = (streamBody, context) => collectBody(streamBody, context).then((body) => context.utf8Encoder(body));
const throwDefaultError = withBaseException(__BaseException);
const buildHttpRpcRequest = async (context, headers, path, resolvedHostname, body) => {
const { hostname, protocol = "https", port, path: basePath } = await context.endpoint();
const contents = {
protocol,
hostname,
port,
method: "POST",
path: basePath.endsWith("/") ? basePath.slice(0, -1) + path : basePath + path,
headers,
};
if (resolvedHostname !== undefined) {
contents.hostname = resolvedHostname;
}
if (body !== undefined) {
contents.body = body;
}
return new __HttpRequest(contents);
};
function sharedHeaders(operation) {
return {
"content-type": "application/x-amz-json-1.0",
"x-amz-target": `AmazonSQS.${operation}`,
"x-amzn-query-mode": "true",
};
}
const populateBodyWithQueryCompatibility = (parsedOutput, headers) => {
const queryErrorHeader = headers["x-amzn-query-error"];
if (parsedOutput.body !== undefined && queryErrorHeader != null) {
const codeAndType = queryErrorHeader.split(";");
parsedOutput.body.Code = codeAndType[0];
parsedOutput.body.Type = codeAndType[1];
}
};