refactor: simplify ce version parsers (#274)
Signed-off-by: Grant Timmerman <timmerman+devrel@google.com>
This commit is contained in:
parent
3c8273f114
commit
3d82fb6291
|
|
@ -2,8 +2,7 @@ import { CloudEvent, Version } from "../..";
|
||||||
import { CloudEventV1, CloudEventV03 } from "../../event/interfaces";
|
import { CloudEventV1, CloudEventV03 } from "../../event/interfaces";
|
||||||
import { validateV1, validateV03 } from "../../event/spec";
|
import { validateV1, validateV03 } from "../../event/spec";
|
||||||
import { Headers, validate } from "./headers";
|
import { Headers, validate } from "./headers";
|
||||||
import { binaryParsers as v1Parsers } from "./v1";
|
import { v03binaryParsers, v1binaryParsers } from "./versions";
|
||||||
import { binaryParsers as v03Parsers } from "./v03";
|
|
||||||
import { parserByContentType, MappedParser } from "../../parsers";
|
import { parserByContentType, MappedParser } from "../../parsers";
|
||||||
import { isString, isBase64, ValidationError, isStringOrObjectOrThrow } from "../../event/validation";
|
import { isString, isBase64, ValidationError, isStringOrObjectOrThrow } from "../../event/validation";
|
||||||
import CONSTANTS from "../../constants";
|
import CONSTANTS from "../../constants";
|
||||||
|
|
@ -52,7 +51,7 @@ export class BinaryHTTPReceiver {
|
||||||
const sanitizedHeaders = validate(headers);
|
const sanitizedHeaders = validate(headers);
|
||||||
|
|
||||||
const eventObj: { [key: string]: unknown | string | Record<string, unknown> } = {};
|
const eventObj: { [key: string]: unknown | string | Record<string, unknown> } = {};
|
||||||
const parserMap: Record<string, MappedParser> = this.version === Version.V1 ? v1Parsers : v03Parsers;
|
const parserMap: Record<string, MappedParser> = this.version === Version.V1 ? v1binaryParsers : v03binaryParsers;
|
||||||
|
|
||||||
for (const header in parserMap) {
|
for (const header in parserMap) {
|
||||||
if (sanitizedHeaders[header]) {
|
if (sanitizedHeaders[header]) {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
import { ValidationError, CloudEvent } from "../..";
|
import { ValidationError, CloudEvent } from "../..";
|
||||||
import { headerMap as v1Map } from "./v1";
|
import { v03headerMap, v1headerMap } from "./versions";
|
||||||
import { headerMap as v03Map } from "./v03";
|
|
||||||
import { Version } from "../../event/cloudevent";
|
import { Version } from "../../event/cloudevent";
|
||||||
import { MappedParser } from "../../parsers";
|
import { MappedParser } from "../../parsers";
|
||||||
import CONSTANTS from "../../constants";
|
import CONSTANTS from "../../constants";
|
||||||
|
|
@ -60,9 +59,9 @@ export function headersFor(event: CloudEvent): Headers {
|
||||||
const headers: Headers = {};
|
const headers: Headers = {};
|
||||||
let headerMap: Readonly<{ [key: string]: MappedParser }>;
|
let headerMap: Readonly<{ [key: string]: MappedParser }>;
|
||||||
if (event.specversion === Version.V1) {
|
if (event.specversion === Version.V1) {
|
||||||
headerMap = v1Map;
|
headerMap = v1headerMap;
|
||||||
} else {
|
} else {
|
||||||
headerMap = v03Map;
|
headerMap = v03headerMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
// iterate over the event properties - generate a header for each
|
// iterate over the event properties - generate a header for each
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,7 @@ import { CloudEvent, Version } from "../..";
|
||||||
import { Headers, sanitize } from "./headers";
|
import { Headers, sanitize } from "./headers";
|
||||||
import { Parser, JSONParser, MappedParser } from "../../parsers";
|
import { Parser, JSONParser, MappedParser } from "../../parsers";
|
||||||
import { parserByContentType } from "../../parsers";
|
import { parserByContentType } from "../../parsers";
|
||||||
import { structuredParsers as v1Parsers } from "./v1";
|
import { v1structuredParsers, v03structuredParsers } from "./versions";
|
||||||
import { structuredParsers as v03Parsers } from "./v03";
|
|
||||||
import { isString, isBase64, ValidationError, isStringOrObjectOrThrow } from "../../event/validation";
|
import { isString, isBase64, ValidationError, isStringOrObjectOrThrow } from "../../event/validation";
|
||||||
import { CloudEventV1, CloudEventV03 } from "../../event/interfaces";
|
import { CloudEventV1, CloudEventV03 } from "../../event/interfaces";
|
||||||
import { validateV1, validateV03 } from "../../event/spec";
|
import { validateV1, validateV03 } from "../../event/spec";
|
||||||
|
|
@ -55,7 +54,8 @@ export class StructuredHTTPReceiver {
|
||||||
const incoming = { ...(parser.parse(payload) as Record<string, unknown>) };
|
const incoming = { ...(parser.parse(payload) as Record<string, unknown>) };
|
||||||
|
|
||||||
const eventObj: { [key: string]: unknown } = {};
|
const eventObj: { [key: string]: unknown } = {};
|
||||||
const parserMap: Record<string, MappedParser> = this.version === Version.V1 ? v1Parsers : v03Parsers;
|
const parserMap: Record<string, MappedParser> =
|
||||||
|
this.version === Version.V1 ? v1structuredParsers : v03structuredParsers;
|
||||||
|
|
||||||
for (const key in parserMap) {
|
for (const key in parserMap) {
|
||||||
const property = incoming[key];
|
const property = incoming[key];
|
||||||
|
|
|
||||||
|
|
@ -1,47 +0,0 @@
|
||||||
import { MappedParser, DateParser, PassThroughParser } from "../../parsers";
|
|
||||||
import CONSTANTS from "../../constants";
|
|
||||||
|
|
||||||
function parser(header: string, parser = new PassThroughParser()): MappedParser {
|
|
||||||
return { name: header, parser };
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A utility Map used to retrieve the header names for a CloudEvent
|
|
||||||
* using the CloudEvent getter function.
|
|
||||||
*/
|
|
||||||
export const headerMap: Readonly<{ [key: string]: MappedParser }> = Object.freeze({
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE]: parser(CONSTANTS.HEADER_CONTENT_TYPE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SUBJECT]: parser(CONSTANTS.CE_HEADERS.SUBJECT),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.TYPE]: parser(CONSTANTS.CE_HEADERS.TYPE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION]: parser(CONSTANTS.CE_HEADERS.SPEC_VERSION),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SOURCE]: parser(CONSTANTS.CE_HEADERS.SOURCE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.ID]: parser(CONSTANTS.CE_HEADERS.ID),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.TIME]: parser(CONSTANTS.CE_HEADERS.TIME),
|
|
||||||
[CONSTANTS.STRUCTURED_ATTRS_03.CONTENT_ENCODING]: parser(CONSTANTS.BINARY_HEADERS_03.CONTENT_ENCODING),
|
|
||||||
[CONSTANTS.STRUCTURED_ATTRS_03.SCHEMA_URL]: parser(CONSTANTS.BINARY_HEADERS_03.SCHEMA_URL),
|
|
||||||
});
|
|
||||||
|
|
||||||
export const binaryParsers: Record<string, MappedParser> = Object.freeze({
|
|
||||||
[CONSTANTS.CE_HEADERS.TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.TYPE),
|
|
||||||
[CONSTANTS.CE_HEADERS.SPEC_VERSION]: parser(CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION),
|
|
||||||
[CONSTANTS.CE_HEADERS.SOURCE]: parser(CONSTANTS.CE_ATTRIBUTES.SOURCE),
|
|
||||||
[CONSTANTS.CE_HEADERS.ID]: parser(CONSTANTS.CE_ATTRIBUTES.ID),
|
|
||||||
[CONSTANTS.CE_HEADERS.TIME]: parser(CONSTANTS.CE_ATTRIBUTES.TIME, new DateParser()),
|
|
||||||
[CONSTANTS.BINARY_HEADERS_03.SCHEMA_URL]: parser(CONSTANTS.STRUCTURED_ATTRS_03.SCHEMA_URL),
|
|
||||||
[CONSTANTS.CE_HEADERS.SUBJECT]: parser(CONSTANTS.CE_ATTRIBUTES.SUBJECT),
|
|
||||||
[CONSTANTS.BINARY_HEADERS_03.CONTENT_ENCODING]: parser(CONSTANTS.STRUCTURED_ATTRS_03.CONTENT_ENCODING),
|
|
||||||
[CONSTANTS.HEADER_CONTENT_TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE),
|
|
||||||
});
|
|
||||||
|
|
||||||
export const structuredParsers: Record<string, MappedParser> = Object.freeze({
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.TYPE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION]: parser(CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SOURCE]: parser(CONSTANTS.CE_ATTRIBUTES.SOURCE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.ID]: parser(CONSTANTS.CE_ATTRIBUTES.ID),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.TIME]: parser(CONSTANTS.CE_ATTRIBUTES.TIME, new DateParser()),
|
|
||||||
[CONSTANTS.STRUCTURED_ATTRS_03.SCHEMA_URL]: parser(CONSTANTS.STRUCTURED_ATTRS_03.SCHEMA_URL),
|
|
||||||
[CONSTANTS.STRUCTURED_ATTRS_03.CONTENT_ENCODING]: parser(CONSTANTS.STRUCTURED_ATTRS_03.CONTENT_ENCODING),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SUBJECT]: parser(CONSTANTS.CE_ATTRIBUTES.SUBJECT),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.DATA]: parser(CONSTANTS.CE_ATTRIBUTES.DATA),
|
|
||||||
});
|
|
||||||
|
|
@ -1,46 +0,0 @@
|
||||||
import { PassThroughParser, DateParser, MappedParser } from "../../parsers";
|
|
||||||
import CONSTANTS from "../../constants";
|
|
||||||
|
|
||||||
function parser(name: string, parser = new PassThroughParser()): MappedParser {
|
|
||||||
return { name: name, parser: parser };
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A utility Map used to retrieve the header names for a CloudEvent
|
|
||||||
* using the CloudEvent getter function.
|
|
||||||
*/
|
|
||||||
export const headerMap: Readonly<{ [key: string]: MappedParser }> = Object.freeze({
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE]: parser(CONSTANTS.HEADER_CONTENT_TYPE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SUBJECT]: parser(CONSTANTS.CE_HEADERS.SUBJECT),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.TYPE]: parser(CONSTANTS.CE_HEADERS.TYPE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION]: parser(CONSTANTS.CE_HEADERS.SPEC_VERSION),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SOURCE]: parser(CONSTANTS.CE_HEADERS.SOURCE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.ID]: parser(CONSTANTS.CE_HEADERS.ID),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.TIME]: parser(CONSTANTS.CE_HEADERS.TIME),
|
|
||||||
[CONSTANTS.STRUCTURED_ATTRS_1.DATA_SCHEMA]: parser(CONSTANTS.BINARY_HEADERS_1.DATA_SCHEMA),
|
|
||||||
});
|
|
||||||
|
|
||||||
export const binaryParsers: Record<string, MappedParser> = Object.freeze({
|
|
||||||
[CONSTANTS.CE_HEADERS.TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.TYPE),
|
|
||||||
[CONSTANTS.CE_HEADERS.SPEC_VERSION]: parser(CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION),
|
|
||||||
[CONSTANTS.CE_HEADERS.SOURCE]: parser(CONSTANTS.CE_ATTRIBUTES.SOURCE),
|
|
||||||
[CONSTANTS.CE_HEADERS.ID]: parser(CONSTANTS.CE_ATTRIBUTES.ID),
|
|
||||||
[CONSTANTS.CE_HEADERS.TIME]: parser(CONSTANTS.CE_ATTRIBUTES.TIME, new DateParser()),
|
|
||||||
[CONSTANTS.BINARY_HEADERS_1.DATA_SCHEMA]: parser(CONSTANTS.STRUCTURED_ATTRS_1.DATA_SCHEMA),
|
|
||||||
[CONSTANTS.CE_HEADERS.SUBJECT]: parser(CONSTANTS.CE_ATTRIBUTES.SUBJECT),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE),
|
|
||||||
[CONSTANTS.HEADER_CONTENT_TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE),
|
|
||||||
});
|
|
||||||
|
|
||||||
export const structuredParsers: Record<string, MappedParser> = Object.freeze({
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.TYPE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION]: parser(CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SOURCE]: parser(CONSTANTS.CE_ATTRIBUTES.SOURCE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.ID]: parser(CONSTANTS.CE_ATTRIBUTES.ID),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.TIME]: parser(CONSTANTS.CE_ATTRIBUTES.TIME, new DateParser()),
|
|
||||||
[CONSTANTS.STRUCTURED_ATTRS_1.DATA_SCHEMA]: parser(CONSTANTS.STRUCTURED_ATTRS_1.DATA_SCHEMA),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.SUBJECT]: parser(CONSTANTS.CE_ATTRIBUTES.SUBJECT),
|
|
||||||
[CONSTANTS.CE_ATTRIBUTES.DATA]: parser(CONSTANTS.CE_ATTRIBUTES.DATA),
|
|
||||||
[CONSTANTS.STRUCTURED_ATTRS_1.DATA_BASE64]: parser(CONSTANTS.STRUCTURED_ATTRS_1.DATA_BASE64),
|
|
||||||
});
|
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
import { PassThroughParser, DateParser, MappedParser } from "../../parsers";
|
||||||
|
import CONSTANTS from "../../constants";
|
||||||
|
|
||||||
|
function parser(name: string, parser = new PassThroughParser()): MappedParser {
|
||||||
|
return { name: name, parser: parser };
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A utility Map used to retrieve the header names for a CloudEvent
|
||||||
|
* using the CloudEvent getter function.
|
||||||
|
*/
|
||||||
|
export const v1headerMap: Readonly<{ [key: string]: MappedParser }> = Object.freeze({
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE]: parser(CONSTANTS.HEADER_CONTENT_TYPE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SUBJECT]: parser(CONSTANTS.CE_HEADERS.SUBJECT),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.TYPE]: parser(CONSTANTS.CE_HEADERS.TYPE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION]: parser(CONSTANTS.CE_HEADERS.SPEC_VERSION),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SOURCE]: parser(CONSTANTS.CE_HEADERS.SOURCE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.ID]: parser(CONSTANTS.CE_HEADERS.ID),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.TIME]: parser(CONSTANTS.CE_HEADERS.TIME),
|
||||||
|
[CONSTANTS.STRUCTURED_ATTRS_1.DATA_SCHEMA]: parser(CONSTANTS.BINARY_HEADERS_1.DATA_SCHEMA),
|
||||||
|
});
|
||||||
|
|
||||||
|
export const v1binaryParsers: Record<string, MappedParser> = Object.freeze({
|
||||||
|
[CONSTANTS.CE_HEADERS.TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.TYPE),
|
||||||
|
[CONSTANTS.CE_HEADERS.SPEC_VERSION]: parser(CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION),
|
||||||
|
[CONSTANTS.CE_HEADERS.SOURCE]: parser(CONSTANTS.CE_ATTRIBUTES.SOURCE),
|
||||||
|
[CONSTANTS.CE_HEADERS.ID]: parser(CONSTANTS.CE_ATTRIBUTES.ID),
|
||||||
|
[CONSTANTS.CE_HEADERS.TIME]: parser(CONSTANTS.CE_ATTRIBUTES.TIME, new DateParser()),
|
||||||
|
[CONSTANTS.BINARY_HEADERS_1.DATA_SCHEMA]: parser(CONSTANTS.STRUCTURED_ATTRS_1.DATA_SCHEMA),
|
||||||
|
[CONSTANTS.CE_HEADERS.SUBJECT]: parser(CONSTANTS.CE_ATTRIBUTES.SUBJECT),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE),
|
||||||
|
[CONSTANTS.HEADER_CONTENT_TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE),
|
||||||
|
});
|
||||||
|
|
||||||
|
export const v1structuredParsers: Record<string, MappedParser> = Object.freeze({
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.TYPE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION]: parser(CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SOURCE]: parser(CONSTANTS.CE_ATTRIBUTES.SOURCE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.ID]: parser(CONSTANTS.CE_ATTRIBUTES.ID),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.TIME]: parser(CONSTANTS.CE_ATTRIBUTES.TIME, new DateParser()),
|
||||||
|
[CONSTANTS.STRUCTURED_ATTRS_1.DATA_SCHEMA]: parser(CONSTANTS.STRUCTURED_ATTRS_1.DATA_SCHEMA),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SUBJECT]: parser(CONSTANTS.CE_ATTRIBUTES.SUBJECT),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.DATA]: parser(CONSTANTS.CE_ATTRIBUTES.DATA),
|
||||||
|
[CONSTANTS.STRUCTURED_ATTRS_1.DATA_BASE64]: parser(CONSTANTS.STRUCTURED_ATTRS_1.DATA_BASE64),
|
||||||
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A utility Map used to retrieve the header names for a CloudEvent
|
||||||
|
* using the CloudEvent getter function.
|
||||||
|
*/
|
||||||
|
export const v03headerMap: Readonly<{ [key: string]: MappedParser }> = Object.freeze({
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE]: parser(CONSTANTS.HEADER_CONTENT_TYPE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SUBJECT]: parser(CONSTANTS.CE_HEADERS.SUBJECT),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.TYPE]: parser(CONSTANTS.CE_HEADERS.TYPE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION]: parser(CONSTANTS.CE_HEADERS.SPEC_VERSION),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SOURCE]: parser(CONSTANTS.CE_HEADERS.SOURCE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.ID]: parser(CONSTANTS.CE_HEADERS.ID),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.TIME]: parser(CONSTANTS.CE_HEADERS.TIME),
|
||||||
|
[CONSTANTS.STRUCTURED_ATTRS_03.CONTENT_ENCODING]: parser(CONSTANTS.BINARY_HEADERS_03.CONTENT_ENCODING),
|
||||||
|
[CONSTANTS.STRUCTURED_ATTRS_03.SCHEMA_URL]: parser(CONSTANTS.BINARY_HEADERS_03.SCHEMA_URL),
|
||||||
|
});
|
||||||
|
|
||||||
|
export const v03binaryParsers: Record<string, MappedParser> = Object.freeze({
|
||||||
|
[CONSTANTS.CE_HEADERS.TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.TYPE),
|
||||||
|
[CONSTANTS.CE_HEADERS.SPEC_VERSION]: parser(CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION),
|
||||||
|
[CONSTANTS.CE_HEADERS.SOURCE]: parser(CONSTANTS.CE_ATTRIBUTES.SOURCE),
|
||||||
|
[CONSTANTS.CE_HEADERS.ID]: parser(CONSTANTS.CE_ATTRIBUTES.ID),
|
||||||
|
[CONSTANTS.CE_HEADERS.TIME]: parser(CONSTANTS.CE_ATTRIBUTES.TIME, new DateParser()),
|
||||||
|
[CONSTANTS.BINARY_HEADERS_03.SCHEMA_URL]: parser(CONSTANTS.STRUCTURED_ATTRS_03.SCHEMA_URL),
|
||||||
|
[CONSTANTS.CE_HEADERS.SUBJECT]: parser(CONSTANTS.CE_ATTRIBUTES.SUBJECT),
|
||||||
|
[CONSTANTS.BINARY_HEADERS_03.CONTENT_ENCODING]: parser(CONSTANTS.STRUCTURED_ATTRS_03.CONTENT_ENCODING),
|
||||||
|
[CONSTANTS.HEADER_CONTENT_TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE),
|
||||||
|
});
|
||||||
|
|
||||||
|
export const v03structuredParsers: Record<string, MappedParser> = Object.freeze({
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.TYPE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION]: parser(CONSTANTS.CE_ATTRIBUTES.SPEC_VERSION),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SOURCE]: parser(CONSTANTS.CE_ATTRIBUTES.SOURCE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.ID]: parser(CONSTANTS.CE_ATTRIBUTES.ID),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.TIME]: parser(CONSTANTS.CE_ATTRIBUTES.TIME, new DateParser()),
|
||||||
|
[CONSTANTS.STRUCTURED_ATTRS_03.SCHEMA_URL]: parser(CONSTANTS.STRUCTURED_ATTRS_03.SCHEMA_URL),
|
||||||
|
[CONSTANTS.STRUCTURED_ATTRS_03.CONTENT_ENCODING]: parser(CONSTANTS.STRUCTURED_ATTRS_03.CONTENT_ENCODING),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE]: parser(CONSTANTS.CE_ATTRIBUTES.CONTENT_TYPE),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.SUBJECT]: parser(CONSTANTS.CE_ATTRIBUTES.SUBJECT),
|
||||||
|
[CONSTANTS.CE_ATTRIBUTES.DATA]: parser(CONSTANTS.CE_ATTRIBUTES.DATA),
|
||||||
|
});
|
||||||
|
|
@ -1,6 +1,4 @@
|
||||||
export * from "./emitter";
|
export * from "./emitter";
|
||||||
export * from "./receiver";
|
export * from "./receiver";
|
||||||
export * as v1Headers from "./http/v1";
|
|
||||||
export * as v03Headers from "./http/v03";
|
|
||||||
export * as http from "./http/headers";
|
export * as http from "./http/headers";
|
||||||
export * from "./protocols";
|
export * from "./protocols";
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue