Commit Graph

192 Commits

Author SHA1 Message Date
Lucas Holmquist 84f1ed9cfe
feat(src): add ext name validation (#246)
BREAKING CHANGE:

* Extension names are now validated during object creation.  The values are defined by the specification, and can be lowercase(a-z) or digits(0-9) and must be no longer that 20 characters

Signed-off-by: Lucas Holmquist <lholmqui@redhat.com>
2020-07-15 09:53:52 -04:00
Lucas Holmquist c7a84772d5
feat(src): A CloudEvent should be readonly but provide a way to augment itself. (#234)
BREAKING CHANGE:

* This change makes the CloudEvent Read-only and validates the input during object creation.

* To augment an already created CloudEvent object, we have added a `cloneWith` method that takes attributes to add/update.

Signed-off-by: Lucas Holmquist <lholmqui@redhat.com>
2020-07-13 15:15:32 -04:00
Lance Ball dca2811627
test: inplement the cucumber conformance tests from cloudevents/spec (#238)
This commit adds cucumber-js conformance steps and includes the cucumber
tests in 'npm test'.

Signed-off-by: Lance Ball <lball@redhat.com>
2020-07-13 09:47:02 -04:00
Lance Ball 51035dc65b
fix: ensure that the HTTP receiver sanitizes headers in accept() (#239)
Even though the underlying structured and binary receivers already sanitize
the headers, this needs to be done at the receiver.accept() level since
the headers are inspected there to determine what mode the event is being
sent as.

Signed-off-by: Lance Ball <lball@redhat.com>
2020-07-06 17:33:13 -04:00
Lance Ball 276b810dd8
BREAKING CHANGE(lib): rewrite in TypeScript (#226)
This is a major rewrite of the entire codebase into TypeScript. Nearly
all tests have been retained except where behavior is significantly
different. Some highlights of these changes:

* lowercase all CloudEvent properties and fix base64 encoded data

Previously there was a format() function that would convert a CloudEvent
object into JSON with all of the properties lowercased. With this rewrite
a CloudEvent object can be converted to JSON simply with JSON.stringify().

However, in order to be compliant with the JSON representation outlined in
the spec here https://github.com/cloudevents/spec/blob/v1.0/json-format.md
all of the event properties must be all lowercase.

* lib(transport): make transport mode an Enum
* src: allow custom headers (#1)
* lib(exports): export explicitly versioned names where appropriate
* lib(cloudevent): modify ctor to accept extensions inline
* lib(cloudevent): make extensions a part of the event object
* test: convert all tests to typescript
* examples: update all examples with latest API changes
* docs: update README with latest API changes
* src: add prettier for code style and fix a lot of linting errors
* lib: move data decoding to occur within the CloudEvent object

Signed-off-by: Lance Ball <lball@redhat.com>
2020-06-29 14:46:20 -04:00
Lance Ball da365e09eb
fix: add correct types to improve TypeScript behavior (#202)
This commit modifies the existing TypeScript files with improved
(read: functional) typings for function parameters. This became an
issue when trying to use the module in an existing TypeScript module.

Tests for the TypeScript files have been moved to a new test folder
specifically for testing TypeScript usage via ts-node.

Signed-off-by: Lance Ball <lball@redhat.com>
2020-06-04 14:35:51 -04:00
Lance Ball a5befbe0cf
fix: introduce CloudEventV1 and CloudEventV03 interfaces (#194)
This extracts all of the attributes from a `CloudEventVX` that
are not generated by the constructor (id and specversion) into their
own `CloudEventVXAttributes` interface which the `CloudEventVX`
interface extends. This allows TS devs to optionally provide `id`
and `specversion` with proper autocompletion.

Additionally, I have added a union type, `CE` in `cloudevent.ts` which
represents any of `CloudEventV1`, `CloudEventv03`, `CloudEventV1Attributes`
and `CloudEventV03Attributes` interfaces.

Finally, this commit changes all of the user facing API to be `.ts` instead
of `.js` files.

The existing documentation in `./docs` was removed. It should be replaced with generated
HTML from tsdocs, pending some other method of publishing API documentation. That will
come as a separate, docs-only PR.

Fixes: https://github.com/cloudevents/skd-javascript/issues/188

Signed-off-by: Lance Ball <lball@redhat.com>
2020-05-29 17:49:02 -04:00
Ali Ok 0710166ce9
fix: initialize CloudEvent's extensions property (#192)
Signed-off-by: Ali Ok <aliok@redhat.com>
2020-05-28 08:49:59 -04:00
Lance Ball f50e80fbf6
lib: make HTTPEmitter headers method a property of the class (#186)
Signed-off-by: Lance Ball <lball@redhat.com>
2020-05-24 13:03:40 -04:00
Lance Ball abc114b24e
lib!: change CloudEvent to use direct object notation and get/set properties (#172)
This commit makes a substantial change to the API, changing the CloudEvent class
to accept properties as an object in the constructor. For example:

```js
const CloudEvent = require('cloudevents-sdk');

// all event properties except extensions may be set in the constructor
const event = new CloudEvent({
  source: 'http://my.event.source',
  type: 'test-event-type'
});

// get and set all properties standard property notation
console.log(event.time); // the event timestamp
event.subject = 'my event subject';
```

Signed-off-by: Lance Ball <lball@redhat.com>
2020-05-22 13:03:36 -04:00
Lance Ball 6f0b5ea5f1
lib!: refactor HTTP bindings and specifications (#165)
This is a breaking change.

This commit makes a number of changes to the HTTP bindings code in an attempt
to simplify its usage and implementation. From a very high level, this inverts
the existing dependencies.

As an example, consider `lib/bindings/http/receiver_structured_1.js`.
https://github.com/cloudevents/sdk-javascript/blob/v1.0.0/lib/bindings/http/receiver_structured_0_3.js

This class instantiates `lib/bindings/http/receiver_structured.js` and delegates
its function invokations to it. This had the effect of requiring a user to know what
event versions they would be receiving. And for me personally was a little confusing
as a maintainer.

The change introduced here reverses that logic, so that the version agnostic receiver
is what the user instantiates. It instantiates the approrpiate version of a specific
receiever and delegates to it - reversing the dependencies.

I've also moved all of the top level directories related to HTTP versions into
`lib/bindings/http/v1` and `lib/bindings/http/v03` and generally done some rearranging
to make the repository structure cleaner and more organized.

Signed-off-by: Lance Ball <lball@redhat.com>
2020-05-18 11:34:22 -04:00
Daniel Bevenius b99e6ea228
lib: correct name of CONTENT_ENCODING constant (#168)
Signed-off-by: Daniel Bevenius <daniel.bevenius@gmail.com>
2020-05-18 09:44:58 -04:00
Lance Ball d836b06ffe
lib: expose constants as a top-level export (#161)
This commit pulls the constants up from the lib/bindings/http/constants.js
and exports them in the top level index.js. There are some elements of the API
where we expect users to provide constant values, and this makes it easier for
them to be sure the values they provide are what is expected.

I've also added two new constants: `BINARY` and `STRUCTURED`.

Signed-off-by: Lance Ball <lball@redhat.com>
2020-05-18 08:30:28 -04:00
Lance Ball 250a0a144c
feat!: expose a version agnostic event emitter (#141)
* feat!: expose a version agnostic event emitter

This is a breaking change.

This commit exposes an HTTP based event emitter that simplifes the API.
To use it, simply import the SDK and start emitting. The default spec
version is 1.0, but you can use 0.3 by supplying that to the constructor.

By default, CloudEvents are emitted in binary mode, but this can be changed
by providing the "structured" parameter to the `send()` function.

This commit also eliminates the version specific emitters and receivers
from the `v1` and `v03` exports, and eliminates the explicit usage of
versioned emitters from `lib/bindings/http`.

Finally, the CE headers can be retrieved from the emitter for a given
event by passing the event to the `headers()` function.

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

Signed-off-by: Lance Ball <lball@redhat.com>
2020-05-14 11:37:02 -04:00
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
Daniel Bevenius 2882affb38
test: use constants in spec_03_tests.js (#144)
Co-authored-by: Lance Ball <lball@redhat.com>
Signed-off-by: Daniel Bevenius <daniel.bevenius@gmail.com>
2020-05-12 14:56:18 -04:00
Daniel Bevenius c56c203d6a
test: remove uuid require in spec_03_tests.js (#145)
This commit removes the require of uuid from this test and uses a
hardcoded value for the 'id' constant instead.

The motivation for this is that the value for 'id' does not need to be
generated for each test run, and fewer requires helps readabilitly I
find.

Signed-off-by: Daniel Bevenius <daniel.bevenius@gmail.com>
2020-05-12 14:48:35 -04:00
Lance Ball ef7550d60d
fix: throw "no cloud event detected" if one can't be read (#139)
This commit changes the event mode detection in `HTTPReceiver` so that it will
throw a TypeError if the event mode can't be detected per the spec.

Signed-off-by: Lance Ball <lball@redhat.com>
2020-05-11 09:42:16 -04:00
Lance Ball 72a87dfb2d
fix: ensure binary events can handle no content-type header (#134)
* fix: ensure binary events can handle no content-type header

The fix provided in https://github.com/cloudevents/sdk-javascript/pull/118
only included tests for `receiver.check()`, and the change in that
case was to add the `application/json` content type to the cleansed
headers if to type was specified.

However, `receiver.parse()` did not receive the benefit of this change. It
calls `this.check()` but then sanitizes the original headers again, and the
missing content-type was not re-inserted into the newly sanitized headers.

This commit, modifies the code so that `receiver.check()` does not insert
the content-type, but does allow the validation check to pass if no
content-type header exists. When `receiver.parse()` is called, and the
headers are sanitized again - and this time used to look up parser implementation,
the default `application/json` content-is applied if no content-type header
exists.

I've also removed a redundant call to `receiver.check()` in receiver_binary_1.js
and simplified the usage of `Constants` in the test.

Signed-off-by: Lance Ball <lball@redhat.com>

* chore: clean up header sniffing

Signed-off-by: Lance Ball <lball@redhat.com>
2020-05-08 23:37:10 -04:00
Daniel Bevenius 60bf05c8f2
test: use header constants in receiver tests (#131)
Signed-off-by: Daniel Bevenius <daniel.bevenius@gmail.com>
2020-05-06 20:05:33 -04:00
Lance Ball 63ae1ad527
feat(unmarshaller)!: remove asynchronous 0.3 unmarshaller API (#126)
This commit removes the unnecessary use of Promises in the 0.3 unmarshaller.
There was actually no asynchronous activity happening in that function, so
there was no need to deal with Promises, and as a result testing was made
much more difficult.

Fixes: https://github.com/cloudevents/sdk-javascript/pull/95

Signed-off-by: Lance Ball <lball@redhat.com>
2020-05-06 20:05:10 -04:00
Lance Ball 54f242b79e
feat: expose a mode and version agnostic event receiver (#120)
Event receivers in the wild may not always know what version or mode an
incoming event is. Instead of requiring developers to inspect the headers
themselves, the SDK should provide an HTTP receiver that is capable of
figuring out what the version and mode (structured/binary) of an incoming
event is and handle it appropriately.

In determining the best way to expose this, I chose to modify the API a
little bit. Now, instead of `const CloudEvent = require('cloudevents-sdk');`
users need to destructure it.

```js
const { HTTPReceiver, CloudEvent } = require('cloudevents-sdk');
```

This change should not be backported to 1.x.

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

Signed-off-by: Lance Ball <lball@redhat.com>
2020-05-06 13:25:16 -04:00
Lance Ball d9e9ae6bdc
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>
2020-05-05 18:02:39 -04:00
Helio Frota 53524acb0e
fix: misspelled word (#115)
Signed-off-by: Helio Frota <00hf11@gmail.com>
2020-05-02 08:30:01 -07:00
Grant Timmerman 05ecbdea4f
feat: use CloudEvents not cloudevents everywhere (#101)
Signed-off-by: Grant Timmerman <timmerman+devrel@google.com>
2020-04-30 16:14:13 -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
Daniel Bevenius e0878055a2
test: use header constants in unmarshaller tests (#60)
This commit updates the http unmarshaller tests to use the constants
available in lib/bindings/http/constants.js.

Signed-off-by: Daniel Bevenius <daniel.bevenius@gmail.com>
2020-04-28 21:14:39 -07: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
Lance Ball 3a063d7245
fix: support mTLS in 1.0 Binary and Structured emitters
This commit modifies both of the 1.0 emitters so that they may
accept typed objects as a part of the configuration. When using
mTLS in Node, you need to provide an `Agent` to the underlying
HTTP handler. In this case, Axios will pass this object along to
Node.js when it is provided.

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

Signed-off-by: Lance Ball <lball@redhat.com>
2020-04-08 16:13:57 -04:00
Fabio José 6a197941f8 Support for binary format
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 15:55:29 -03:00
Fabio José 8e0371bdc0 Remove console output
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 15:55:14 -03:00
Fabio José 4648305a77 http strutured: handle for data_base64
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 14:08:49 -03:00
Fabio José bf4967d30c supporting the data_base64
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 13:50:22 -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é 215bc348f8 Test for data 'Binary'
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 10:55:27 -03:00
Fabio José cf701e423c Remove HTTPUnmarshaller
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 10:13:04 -03:00
Fabio José 43c6bfe9dc Exporting the http unmarshaller spec 1.0
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 10:07:02 -03:00
Fabio José 68aaf48ba7 HTTP Unmarshaller for spec 1.0
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 10:06:47 -03:00
Fabio José 23b0648a07 Exporting the binary receiber
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 09:45:25 -03:00
Fabio José 645001af0f Http receiver binary for spec 1.0
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 09:44:39 -03:00
Fabio José 7d8ef84365 Fixing the test file names
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-04 09:33:16 -03:00
Fabio José dfd98197ad Comment pendeing stuff
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-02 07:06:38 -03:00
Fabio José 8487b1c76c Sdk tests for spec 1.0
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-02 07:05:20 -03:00
Fabio José ef6f47c6f5 Structured http receiver for spec 1.0
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-11-02 07:04:30 -03:00
Fabio José 0b65392aa8 Tests for extension typing
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-10-31 17:52:03 -03:00
Fabio José 19d8db7e1b Fix test title
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-10-31 17:51:39 -03:00
Fabio José 671f941256 Testing for http emitter for binary mode
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-10-29 21:14:40 -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é 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é 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é 588a0aa3ac Function for data parsing based on the data content type
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-31 14:45:38 -03:00
Fabio José b51876a020 Fixing the subject unmarshall: Closes #32
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-22 17:21:00 -03:00
Fabio José f599f7ab61 Fixes how to do tests with Promise
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-06 11:20:59 -03:00
Fabio José 66abc90cc2 Remove ugly test
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-06 11:14:01 -03:00
Fabio José 5ea47c1f4a generic HTTPUnmarshaller and spec 0.3 HTTPUnmarshaller
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-05 09:23:57 -03:00
Fabio José d399e5abc3 Exporting the HTTPUnmarshaller
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-05 09:22:15 -03:00
Fabio José bebb3b0e97 remove console.log
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-04 13:44:59 -03:00
Fabio José fd119040fc Exporting the receiver and emitter for binary 0.3
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-04 13:26:14 -03:00
Fabio José 805c8971a1 HTTP Binary receiver for spec 0.3
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-04 13:23:25 -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é 29bc8b9e17 isBase64 and clone functions
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-04 09:35:19 -03:00
Fabio José 5b132feabe HTTP Receiver Structured for v0.3
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-04 09:34:55 -03:00
Fabio José 40c96c40db Tests for checking the binary headers value
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-02 11:21:17 -03:00
Fabio José 772ca2f34f Example for testing the binary headers values
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-02 11:07:09 -03:00
Fabio José 62015c0d0a Tests for structured http emitter v0.3
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-02 10:15:58 -03:00
Fabio José 084d0c1a0b Export the structured emitter for v0.3
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-02 09:57:59 -03:00
Fabio José e7b5c833c6 Exporting the v0.3 stuff
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-01 17:43:48 -03:00
Fabio José 0f8823c36e The http binding for binary - v0.3
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-08-01 17:35:33 -03:00
Fabio José b53d660402 SDK Requirements: exports the receivers
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-29 16:38:38 -03:00
Fabio José 6b5a8d1f3e should have the minimum exports
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-29 14:46:31 -03:00
Fabio José 375f67952d Test the event() method of SDK Requirements
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-29 13:26:20 -03:00
Fabio José 462d019309 Fix test expect
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-29 10:49:06 -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é 22a03405df Merge branch 'develop' into spec03-attrs 2019-07-28 22:05:36 -03:00
Fabio José 4eef9a59c5 Fix the test from PR #26: Closes #25
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-28 21:58:03 -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
Jingwen Peng 8418f77a6b Support receiving "application/octet-stream" content in binary transport mode
Signed-off-by: Jingwen Peng <pengsrc@outlook.com>
2019-07-28 15:11:40 +08:00
Fabio José a663f436a6 Fix test issue with expect(...).to.be.empty
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-23 14:02:15 -03:00
Fabio José 7d67e27d07 Test for extensions
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-17 14:49:14 -03:00
Fabio José f5e0ce6a84 Removing the cyclomatic complexity
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-07-17 11:27:54 -03:00
Fabio José 335531745f Apply promise in the unmarshaller impl
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-25 12:01:33 -03:00
Fabio José 3f50e71953 Test the extensions
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-25 10:54:03 -03:00
Fabio José 67b3ac2b21 Processing the extensions
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-25 10:42:26 -03:00
Fabio José 365e0871b7 Fix binary data attribute example
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-21 16:42:55 -03:00
Fabio José 62e5404c0f Remove the responsability of spec checking
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-21 10:56:41 -03:00
Fabio José 3dad0d200c Remove server stuff
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-20 21:58:10 -03:00
Fabio José 46dd70563d Using the export of http unmarchaller 0.2
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-20 21:46:11 -03:00
Fabio José b000b2b0bd Test titles
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-20 21:42:42 -03:00
Fabio José b4c3846491 Unmarshaller impl and tests
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-16 20:46:18 -03:00
Fabio José 6a1d70c503 Fix binding server signature
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-16 19:30:23 -03:00
Fabio José c1e858fbd6 Happy path test
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-16 19:14:29 -03:00
Fabio José 39cc730845 fix import
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-16 19:11:55 -03:00
Fabio José 68b9866ffb Parses the payload
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-16 19:10:24 -03:00
Fabio José fbea122b73 Receiver for structured
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-16 18:47:09 -03:00
Fabio José d1fc0b39f0 Parse content type, sanity in parse method
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-16 17:59:58 -03:00
Fabio José 21011b5a74 Content type
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-16 17:50:26 -03:00
Fabio José 14e0583347 Parse date, set data
Signed-off-by: Fabio José <fabiojose@gmail.com>
2019-06-16 17:30:13 -03:00