|
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