UNPKG

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.

648 lines (647 loc) 24.9 kB
import { 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, expectNonNull as __expectNonNull, expectNumber as __expectNumber, expectString as __expectString, parseEpochTimestamp as __parseEpochTimestamp, take, withBaseException, } from "@smithy/smithy-client"; import { CognitoIdentityServiceException as __BaseException } from "../models/CognitoIdentityServiceException"; import { ConcurrentModificationException, DeveloperUserAlreadyRegisteredException, ExternalServiceException, InternalErrorException, InvalidIdentityPoolConfigurationException, InvalidParameterException, LimitExceededException, NotAuthorizedException, ResourceConflictException, ResourceNotFoundException, TooManyRequestsException, } from "../models/models_0"; export const se_CreateIdentityPoolCommand = async (input, context) => { const headers = sharedHeaders("CreateIdentityPool"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_DeleteIdentitiesCommand = async (input, context) => { const headers = sharedHeaders("DeleteIdentities"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_DeleteIdentityPoolCommand = async (input, context) => { const headers = sharedHeaders("DeleteIdentityPool"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_DescribeIdentityCommand = async (input, context) => { const headers = sharedHeaders("DescribeIdentity"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_DescribeIdentityPoolCommand = async (input, context) => { const headers = sharedHeaders("DescribeIdentityPool"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_GetCredentialsForIdentityCommand = async (input, context) => { const headers = sharedHeaders("GetCredentialsForIdentity"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_GetIdCommand = async (input, context) => { const headers = sharedHeaders("GetId"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_GetIdentityPoolRolesCommand = async (input, context) => { const headers = sharedHeaders("GetIdentityPoolRoles"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_GetOpenIdTokenCommand = async (input, context) => { const headers = sharedHeaders("GetOpenIdToken"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_GetOpenIdTokenForDeveloperIdentityCommand = async (input, context) => { const headers = sharedHeaders("GetOpenIdTokenForDeveloperIdentity"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_GetPrincipalTagAttributeMapCommand = async (input, context) => { const headers = sharedHeaders("GetPrincipalTagAttributeMap"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_ListIdentitiesCommand = async (input, context) => { const headers = sharedHeaders("ListIdentities"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_ListIdentityPoolsCommand = async (input, context) => { const headers = sharedHeaders("ListIdentityPools"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_ListTagsForResourceCommand = async (input, context) => { const headers = sharedHeaders("ListTagsForResource"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_LookupDeveloperIdentityCommand = async (input, context) => { const headers = sharedHeaders("LookupDeveloperIdentity"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_MergeDeveloperIdentitiesCommand = async (input, context) => { const headers = sharedHeaders("MergeDeveloperIdentities"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_SetIdentityPoolRolesCommand = async (input, context) => { const headers = sharedHeaders("SetIdentityPoolRoles"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_SetPrincipalTagAttributeMapCommand = async (input, context) => { const headers = sharedHeaders("SetPrincipalTagAttributeMap"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_TagResourceCommand = async (input, context) => { const headers = sharedHeaders("TagResource"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_UnlinkDeveloperIdentityCommand = async (input, context) => { const headers = sharedHeaders("UnlinkDeveloperIdentity"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_UnlinkIdentityCommand = async (input, context) => { const headers = sharedHeaders("UnlinkIdentity"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_UntagResourceCommand = async (input, context) => { const headers = sharedHeaders("UntagResource"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const se_UpdateIdentityPoolCommand = async (input, context) => { const headers = sharedHeaders("UpdateIdentityPool"); let body; body = JSON.stringify(_json(input)); return buildHttpRpcRequest(context, headers, "/", undefined, body); }; export const de_CreateIdentityPoolCommand = 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_DeleteIdentitiesCommand = 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_DeleteIdentityPoolCommand = 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_DescribeIdentityCommand = async (output, context) => { if (output.statusCode >= 300) { return de_CommandError(output, context); } const data = await parseBody(output.body, context); let contents = {}; contents = de_IdentityDescription(data, context); const response = { $metadata: deserializeMetadata(output), ...contents, }; return response; }; export const de_DescribeIdentityPoolCommand = 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_GetCredentialsForIdentityCommand = async (output, context) => { if (output.statusCode >= 300) { return de_CommandError(output, context); } const data = await parseBody(output.body, context); let contents = {}; contents = de_GetCredentialsForIdentityResponse(data, context); const response = { $metadata: deserializeMetadata(output), ...contents, }; return response; }; export const de_GetIdCommand = 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_GetIdentityPoolRolesCommand = 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_GetOpenIdTokenCommand = 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_GetOpenIdTokenForDeveloperIdentityCommand = 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_GetPrincipalTagAttributeMapCommand = 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_ListIdentitiesCommand = async (output, context) => { if (output.statusCode >= 300) { return de_CommandError(output, context); } const data = await parseBody(output.body, context); let contents = {}; contents = de_ListIdentitiesResponse(data, context); const response = { $metadata: deserializeMetadata(output), ...contents, }; return response; }; export const de_ListIdentityPoolsCommand = 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_ListTagsForResourceCommand = 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_LookupDeveloperIdentityCommand = 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_MergeDeveloperIdentitiesCommand = 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_SetIdentityPoolRolesCommand = 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_SetPrincipalTagAttributeMapCommand = 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_TagResourceCommand = 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_UnlinkDeveloperIdentityCommand = 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_UnlinkIdentityCommand = 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_UntagResourceCommand = 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_UpdateIdentityPoolCommand = 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; }; const de_CommandError = async (output, context) => { const parsedOutput = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { case "InternalErrorException": case "com.amazonaws.cognitoidentity#InternalErrorException": throw await de_InternalErrorExceptionRes(parsedOutput, context); case "InvalidParameterException": case "com.amazonaws.cognitoidentity#InvalidParameterException": throw await de_InvalidParameterExceptionRes(parsedOutput, context); case "LimitExceededException": case "com.amazonaws.cognitoidentity#LimitExceededException": throw await de_LimitExceededExceptionRes(parsedOutput, context); case "NotAuthorizedException": case "com.amazonaws.cognitoidentity#NotAuthorizedException": throw await de_NotAuthorizedExceptionRes(parsedOutput, context); case "ResourceConflictException": case "com.amazonaws.cognitoidentity#ResourceConflictException": throw await de_ResourceConflictExceptionRes(parsedOutput, context); case "TooManyRequestsException": case "com.amazonaws.cognitoidentity#TooManyRequestsException": throw await de_TooManyRequestsExceptionRes(parsedOutput, context); case "ResourceNotFoundException": case "com.amazonaws.cognitoidentity#ResourceNotFoundException": throw await de_ResourceNotFoundExceptionRes(parsedOutput, context); case "ExternalServiceException": case "com.amazonaws.cognitoidentity#ExternalServiceException": throw await de_ExternalServiceExceptionRes(parsedOutput, context); case "InvalidIdentityPoolConfigurationException": case "com.amazonaws.cognitoidentity#InvalidIdentityPoolConfigurationException": throw await de_InvalidIdentityPoolConfigurationExceptionRes(parsedOutput, context); case "DeveloperUserAlreadyRegisteredException": case "com.amazonaws.cognitoidentity#DeveloperUserAlreadyRegisteredException": throw await de_DeveloperUserAlreadyRegisteredExceptionRes(parsedOutput, context); case "ConcurrentModificationException": case "com.amazonaws.cognitoidentity#ConcurrentModificationException": throw await de_ConcurrentModificationExceptionRes(parsedOutput, context); default: const parsedBody = parsedOutput.body; return throwDefaultError({ output, parsedBody, errorCode, }); } }; const de_ConcurrentModificationExceptionRes = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = _json(body); const exception = new ConcurrentModificationException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const de_DeveloperUserAlreadyRegisteredExceptionRes = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = _json(body); const exception = new DeveloperUserAlreadyRegisteredException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const de_ExternalServiceExceptionRes = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = _json(body); const exception = new ExternalServiceException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const de_InternalErrorExceptionRes = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = _json(body); const exception = new InternalErrorException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const de_InvalidIdentityPoolConfigurationExceptionRes = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = _json(body); const exception = new InvalidIdentityPoolConfigurationException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const de_InvalidParameterExceptionRes = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = _json(body); const exception = new InvalidParameterException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const de_LimitExceededExceptionRes = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = _json(body); const exception = new LimitExceededException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const de_NotAuthorizedExceptionRes = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = _json(body); const exception = new NotAuthorizedException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const de_ResourceConflictExceptionRes = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = _json(body); const exception = new ResourceConflictException({ $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_TooManyRequestsExceptionRes = async (parsedOutput, context) => { const body = parsedOutput.body; const deserialized = _json(body); const exception = new TooManyRequestsException({ $metadata: deserializeMetadata(parsedOutput), ...deserialized, }); return __decorateServiceException(exception, body); }; const de_Credentials = (output, context) => { return take(output, { AccessKeyId: __expectString, Expiration: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), SecretKey: __expectString, SessionToken: __expectString, }); }; const de_GetCredentialsForIdentityResponse = (output, context) => { return take(output, { Credentials: (_) => de_Credentials(_, context), IdentityId: __expectString, }); }; const de_IdentitiesList = (output, context) => { const retVal = (output || []) .filter((e) => e != null) .map((entry) => { return de_IdentityDescription(entry, context); }); return retVal; }; const de_IdentityDescription = (output, context) => { return take(output, { CreationDate: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), IdentityId: __expectString, LastModifiedDate: (_) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), Logins: _json, }); }; const de_ListIdentitiesResponse = (output, context) => { return take(output, { Identities: (_) => de_IdentitiesList(_, context), IdentityPoolId: __expectString, NextToken: __expectString, }); }; 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.1", "x-amz-target": `AWSCognitoIdentityService.${operation}`, }; }