@aws-amplify/core
Version:
Core category of aws-amplify
40 lines (37 loc) • 1.72 kB
JavaScript
import { authenticatedHandler } from '../../clients/handlers/authenticated.mjs';
import { composeServiceApi } from '../../clients/internal/composeServiceApi.mjs';
import { extendedEncodeURIComponent } from '../../clients/middleware/signing/utils/extendedEncodeURIComponent.mjs';
import { parseMetadata } from '../../clients/serde/responseInfo.mjs';
import { parseJsonError, parseJsonBody } from '../../clients/serde/json.mjs';
import { AmplifyUrl } from '../../utils/amplifyUrl/index.mjs';
import { defaultConfig, getSharedHeaders } from './base.mjs';
import { assert, PinpointValidationErrorCode } from './errorHelpers.mjs';
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: Apache-2.0
const putEventsSerializer = ({ ApplicationId, EventsRequest }, endpoint) => {
assert(!!ApplicationId, PinpointValidationErrorCode.NoAppId);
const headers = getSharedHeaders();
const url = new AmplifyUrl(endpoint.url);
url.pathname = `v1/apps/${extendedEncodeURIComponent(ApplicationId)}/events`;
const body = JSON.stringify(EventsRequest ?? {});
return { method: 'POST', headers, url, body };
};
const putEventsDeserializer = async (response) => {
if (response.statusCode >= 300) {
const error = await parseJsonError(response);
throw error;
}
else {
const { Results } = await parseJsonBody(response);
return {
EventsResponse: { Results },
$metadata: parseMetadata(response),
};
}
};
/**
* @internal
*/
const putEvents = composeServiceApi(authenticatedHandler, putEventsSerializer, putEventsDeserializer, defaultConfig);
export { putEvents };
//# sourceMappingURL=putEvents.mjs.map