|
1 | 1 | import { CloudEvent, CloudEventV03, CloudEventV1, CONSTANTS, Mode, Version } from "../..";
|
2 | 2 | import { Message, Headers } from "..";
|
3 | 3 |
|
4 |
| -import { headersFor, sanitize, v03structuredParsers, v1binaryParsers, v1structuredParsers } from "./headers"; |
| 4 | +import { |
| 5 | + headersFor, |
| 6 | + sanitize, |
| 7 | + v03binaryParsers, |
| 8 | + v03structuredParsers, |
| 9 | + v1binaryParsers, |
| 10 | + v1structuredParsers, |
| 11 | +} from "./headers"; |
5 | 12 | import { isStringOrObjectOrThrow, ValidationError } from "../../event/validation";
|
6 | 13 | import { JSONParser, MappedParser, Parser, parserByContentType } from "../../parsers";
|
7 | 14 |
|
@@ -122,23 +129,12 @@ function parseBinary(message: Message, version: Version): CloudEvent {
|
122 | 129 | let body = message.body;
|
123 | 130 |
|
124 | 131 | if (!headers) throw new ValidationError("headers is null or undefined");
|
125 |
| - if (body) { |
126 |
| - isStringOrObjectOrThrow(body, new ValidationError("payload must be an object or a string")); |
127 |
| - } |
128 |
| - |
129 |
| - if ( |
130 |
| - headers[CONSTANTS.CE_HEADERS.SPEC_VERSION] && |
131 |
| - headers[CONSTANTS.CE_HEADERS.SPEC_VERSION] !== Version.V03 && |
132 |
| - headers[CONSTANTS.CE_HEADERS.SPEC_VERSION] !== Version.V1 |
133 |
| - ) { |
134 |
| - throw new ValidationError(`invalid spec version ${headers[CONSTANTS.CE_HEADERS.SPEC_VERSION]}`); |
135 |
| - } |
136 | 132 |
|
137 | 133 | // Clone and low case all headers names
|
138 | 134 | const sanitizedHeaders = sanitize(headers);
|
139 | 135 |
|
140 | 136 | const eventObj: { [key: string]: unknown | string | Record<string, unknown> } = {};
|
141 |
| - const parserMap: Record<string, MappedParser> = version === Version.V1 ? v1binaryParsers : v1binaryParsers; |
| 137 | + const parserMap: Record<string, MappedParser> = version === Version.V1 ? v1binaryParsers : v03binaryParsers; |
142 | 138 |
|
143 | 139 | for (const header in parserMap) {
|
144 | 140 | if (sanitizedHeaders[header]) {
|
@@ -186,14 +182,6 @@ function parseStructured(message: Message, version: Version): CloudEvent {
|
186 | 182 | if (!headers) throw new ValidationError("headers is null or undefined");
|
187 | 183 | isStringOrObjectOrThrow(payload, new ValidationError("payload must be an object or a string"));
|
188 | 184 |
|
189 |
| - if ( |
190 |
| - headers[CONSTANTS.CE_HEADERS.SPEC_VERSION] && |
191 |
| - headers[CONSTANTS.CE_HEADERS.SPEC_VERSION] != Version.V03 && |
192 |
| - headers[CONSTANTS.CE_HEADERS.SPEC_VERSION] != Version.V1 |
193 |
| - ) { |
194 |
| - throw new ValidationError(`invalid spec version ${headers[CONSTANTS.CE_HEADERS.SPEC_VERSION]}`); |
195 |
| - } |
196 |
| - |
197 | 185 | // Clone and low case all headers names
|
198 | 186 | const sanitizedHeaders = sanitize(headers);
|
199 | 187 |
|
|
0 commit comments