Commit Graph

53 Commits

Author SHA1 Message Date
Lance Ball 09b0c76826
feat: add ValidationError type extending TypeError (#151)
This change adds a `ValidationError` type that extends `TypeError`. Any time a `CloudEvent` cannot be received and created with the given input, this error will be thrown. Tests have all
been updated to check for the error type.

Signed-off-by: Lance Ball <lball@redhat.com>
2020-05-13 13:27:18 -04:00
Grant Timmerman 106b943ee2
Inline Spec File (#129)
* fix: make application/json the default content type in binary mode (#118)

The Knative Kafka event source does not include a `Content-Type` header when
sending binary events. The CE HTTP binding specification doesn't address how
a receiver should handle this situation.

This commit makes `application/json` the default.

Fixes: https://github.com/cloudevents/sdk-javascript/issues/117
Ref: https://github.com/cloudevents/spec/issues/614

Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Grant Timmerman <timmerman+devrel@google.com>

* refactor: remove ext folder

Signed-off-by: Grant Timmerman <timmerman+devrel@google.com>

* Revert "fix: make application/json the default content type in binary mode (#118)"

This reverts commit 9ccfaf25ba.

Signed-off-by: Grant Timmerman <timmerman+devrel@google.com>

Co-authored-by: Lance Ball <lball@redhat.com>
2020-05-06 12:12:26 -07:00
Daniel Bevenius e329d9ac00
lib: use specversion from schema (#116)
This commit updates the 0.1 and 0.3 sources to use the specversion
available in schema definitions.

Signed-off-by: Daniel Bevenius <daniel.bevenius@gmail.com>
2020-05-04 17:44:16 -07:00
Lance Ball e83db297ae chore: update eslint rules to disallow var usage
Enforce the use of `let` and `const` by using elsint rules.
When creating the eslint configuration, I had assumed that
`extends: eslint:recommended` would have covered this, but
apparently not!

Existing usage of `var` fixed with `npm run lint -- --fix`.

Fixes: https://github.com/cloudevents/sdk-javascript/issues/97

Signed-off-by: Lance Ball <lball@redhat.com>
2020-04-30 12:36:04 -03:00
Helio Frota 42246ce36b chore: Update uuid dependency
Signed-off-by: Helio Frota <00hf11@gmail.com>
2020-04-30 12:34:30 -03:00
Lance Ball 5110ad4c67 src,fix: drop support for v0.2 and clean up contenttype
This commit removes support for the v0.2 specification. It also removes the
`contenttype` attribute from the `CloudEvent` object. While the HTTP protocol
binding specifies that in binary mode, the `datacontenttype` attribute should
map to the HTTP Content-Type header, that doesn't mean that the `CloudEvent`
object should have a `contenttype` property.

Fixes: https://github.com/cloudevents/sdk-javascript/issues/61
Fixes: https://github.com/cloudevents/sdk-javascript/issues/66

Signed-off-by: Lance Ball <lball@redhat.com>
2020-04-28 17:37:49 -03:00
Lance Ball 3f238a0124
src: add eslint configuration and npm script
Automatically fixed > 2000 issues. The remaining 200+ issues need
to be fixed by hand. Additionally, all strings are double quotes
which is not typically standard and I wonder about fixing that too.

Signed-off-by: Lance Ball <lball@redhat.com>
2020-04-22 10:15:05 -04:00
Lance Ball aa2cef6e3c
deps: update old and remove unused dependencies
This commit updates all of the dependencies in package.json to
their most recent versions. It also removes dependencies that were
specified in package.json but not used - or only used in a
`require()` statement.

These changes have some ripple effects. Istanbul has not been
supported for some time, so it has been replaced with nyc.
The code coverage reporting tool from codacy has been updated
as well. This could not be tested without having the API token.

Finally, the CI job has been modified to run tests on Node.js
versions 10x and 12x. All older versions of Node.js are no longer
maintained.

Signed-off-by: Lance Ball <lball@redhat.com>
2020-04-20 14:53:53 -04:00
Daniel Bevenius df85189a64 Use const instead of var where applicable
Signed-off-by: Daniel Bevenius <daniel.bevenius@gmail.com>
2020-04-20 09:54:25 +02:00
Fabio José 68ca47cc13 Missing semicolon
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-08 10:27:36 -03:00
Fabio José 99c595036a Missing semicolon
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-08 10:17:21 -03:00
Fabio José 1f8940c8a7 Support for data_base64 when event data is Binary
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 13:41:13 -03:00
Fabio José 1905266d1f Validating extension types
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-10-31 17:50:54 -03:00
Fabio José 0d34de5315 Remaining attributes tests
Extensions

Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-10-29 16:19:19 -03:00
Fabio José 07f27426f3 Method to check against the json schema
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-10-29 14:03:09 -03:00
Fabio José acd29e142d Spec v1.0 required and optional attributes
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-10-29 10:58:16 -03:00
Fabio José 136045ae62 Fixing the lambda
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-10-29 10:38:38 -03:00
Fabio José 185f2da789 Fix method signature
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-10-29 10:37:10 -03:00
Fabio José 9996f5a84c Method to get id
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-10-29 10:34:58 -03:00
Fabio José 75aa7450c5 Spec v1.0 definitions
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-10-29 08:56:08 -03:00
Fabio José 15616995c3 Fixes: #33
Add the special handling in the getData() method

Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-09-01 10:50:55 -03:00
Fabio José 2ad2249724 Remove comment code and check for string type of data attribute
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-06 11:17:07 -03:00
Fabio José 4fdba57069 Checking for datacontentencoding
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-04 09:35:57 -03:00
Fabio José 0225c358f8 Default value for _caller argument
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-02 14:25:21 -03:00
Fabio José d692f416b6 Fix code style: missing parens, double quote and semicolon
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-29 09:50:28 -03:00
Fabio José 374c0a233c New functions for fun
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-29 09:33:37 -03:00
Fabio José b8f1012d1d Implementing the spec 0.3 attributes
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-28 21:53:34 -03:00
Fabio José ba573fa94f Code style: camelCase
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-23 09:26:36 -03:00
Fabio José 7024876e49 Specversion placebo
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-25 10:30:25 -03:00
Fabio José a8a0c96958 Method to valid any object
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-06 22:47:22 -03:00
Fabio José a39e895ece Merge branch 'develop' 2019-05-24 09:21:15 -03:00
Fabio José 124d0c81b1 Merge branch 'develop' of https://github.com/cloudevents/sdk-javascript into develop 2019-05-24 09:17:37 -03:00
Fabio José 30796b2147 Improve error message
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-05-24 09:16:49 -03:00
Kirusi 4cde6753ac Changed JSON schema validator's options to remove warning: "$ref: keywords ignored in schema at path "#" "
Signed-off-by: Kirusi Msafiri<kirusi.msafiri@gmail.com>
2019-04-17 16:12:23 -04:00
Michele Angioni 41710130f1 Added missing 'source' getter on Spec02
Signed-off-by: Michele Angioni <michele.angioni@takeaway.com>
2019-03-06 16:39:16 +01:00
Fabio José d25cfc352a Fix object injection issue
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-01-20 21:39:46 -02:00
Fabio José 2bd26d6b8f Employ JSON Schema to validate payloads
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-01-19 23:45:58 -02:00
Fabio José 0c9c5ae512 Http binary wip
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-17 21:21:09 -02:00
Fabio José 4d79e11284 http binary wip
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-17 21:10:12 -02:00
Fabio José 63d25f5b04 fix semicolon
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-16 20:23:40 -02:00
Fabio José 23887763e5 WIP: http binary binding
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-16 20:20:15 -02:00
Fabio José 6deb57887d Semi colon
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-15 12:03:14 -02:00
Fabio José 6daeaa971f Camel case
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-15 11:55:39 -02:00
Fabio José 2e9685f8d6 Missing semicolon
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-15 11:39:35 -02:00
Fabio José 2f6ac6775b Double quotes
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-15 11:21:10 -02:00
Fabio José 2a7d3ba558 double quotes
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-15 11:19:48 -02:00
Fabio José 8ce237903e double quotes
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-15 11:18:34 -02:00
Fabio José ac0a8a3a0e Spec 0.2 impl
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-05 23:40:17 -02:00
Fabio José 302e4a653b All attributes of spec 0.1
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-12-05 22:52:29 -02:00
Fabio José 20c3296c55 TODO marks
Signed-off-by: Fabio José <fabiojose@gmail.com>
2018-11-14 22:05:54 -02:00