Skip to content

Commit d894b49

Browse files
Remove CloudEvent conversion logic (#289)
* Revert "Convert legacy GCF events to CloudEvents (#285)" This reverts commit d6cabe7. * Revert "Implement CloudEvent to legacy event conversion (#283)" This reverts commit 0dc3fd7.
1 parent d6cabe7 commit d894b49

11 files changed

+38
-1067
lines changed

.github/workflows/conformance.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ jobs:
4545
with:
4646
functionType: 'legacyevent'
4747
useBuildpacks: false
48-
validateMapping: true
48+
validateMapping: false
4949
workingDirectory: 'test/conformance'
5050
cmd: "'npm start -- --target=writeLegacyEvent --signature-type=event'"
5151

@@ -54,6 +54,6 @@ jobs:
5454
with:
5555
functionType: 'cloudevent'
5656
useBuildpacks: false
57-
validateMapping: true
57+
validateMapping: false
5858
workingDirectory: 'test/conformance'
5959
cmd: "'npm start -- --target=writeCloudEvent --signature-type=cloudevent'"

src/cloudevents.ts

-15
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,6 @@
1515
import * as express from 'express';
1616
import {CloudEventsContext} from './functions';
1717

18-
/**
19-
* Custom exception class to represent errors durring event conversions.
20-
*/
21-
export class EventConversionError extends Error {}
22-
23-
// CloudEvent service names.
24-
export const CE_SERVICE = {
25-
FIREBASE_AUTH: 'firebaseauth.googleapis.com',
26-
FIREBASE_DB: 'firebasedatabase.googleapis.com',
27-
FIREBASE: 'firebase.googleapis.com',
28-
FIRESTORE: 'firestore.googleapis.com',
29-
PUBSUB: 'pubsub.googleapis.com',
30-
STORAGE: 'storage.googleapis.com',
31-
};
32-
3318
/**
3419
* Checks whether the incoming request is a CloudEvents event in binary content
3520
* mode. This is verified by checking the presence of required headers.

src/functions.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export type HandlerFunction =
4444
* A legacy event.
4545
*/
4646
export interface LegacyEvent {
47-
data: {[key: string]: any};
47+
data: object;
4848
context: CloudFunctionsContext;
4949
}
5050

@@ -75,7 +75,7 @@ export interface CloudFunctionsContext {
7575
/**
7676
* The resource that emitted the event.
7777
*/
78-
resource?: string | {[key: string]: string};
78+
resource?: string | object;
7979
}
8080

8181
/**

src/invoker.ts

+7-2
Original file line numberDiff line numberDiff line change
@@ -195,9 +195,14 @@ export function wrapEventFunction(
195195
}
196196
}
197197
);
198-
const data = event.data;
198+
let data = event.data;
199199
let context = event.context;
200-
if (context === undefined) {
200+
if (isBinaryCloudEvent(req)) {
201+
// Support CloudEvents in binary content mode, with data being the whole
202+
// request body and context attributes retrieved from request headers.
203+
data = event;
204+
context = getBinaryCloudEventContext(req);
205+
} else if (context === undefined) {
201206
// Support legacy events and CloudEvents in structured content mode, with
202207
// context properties represented as event top-level properties.
203208
// Context is everything but data.

src/middelware/ce_to_legacy_event.ts

-185
This file was deleted.

0 commit comments

Comments
 (0)