Commit Graph

184 Commits

Author SHA1 Message Date
Oleg Zhurakousky
ed50d7c252 GH-746 Fix support for Cloud Event properly enriching Function<Mono, Mono>
Resolves #746
2021-09-27 18:03:32 +02:00
Soby Chacko
e5c335dc5f Migrate Avro message converter artifacts
Migrate Avro message converter (non-schema-registry) artifacts
from Spring Cloud Schema Registry to Spring Cloud Function.

Resolves https://github.com/spring-cloud/spring-cloud-function/issues/732
Resolves #733
2021-08-30 14:54:23 +02:00
Oleg Zhurakousky
b02f9ae744 Re-enable FunctionAroundWrapper 2021-07-28 11:26:23 +02:00
Oleg Zhurakousky
406ef528cc Temporarily disabled calls to FunctionAroundWrapper 2021-07-26 17:18:31 +02:00
Oleg Zhurakousky
4cc88f1124 GH-708 Initial refactoring and consolidation of s-c-function-web MVC part. 2021-06-15 15:15:26 +02:00
Oleg Zhurakousky
cebd1fde67 GH-707 Fix Concurrent Modification exception on lookup
Rare condition but it appears that in some runtimes there could be multiple threads invoking lookup operation
Added test to validate

Resolves #707
2021-06-08 14:07:32 +02:00
Oleg Zhurakousky
db6e8ce7b4 GH-676 Fix mixed (index and not) input-header-mapping-expression 2021-05-26 15:21:12 +02:00
Oleg Zhurakousky
3611716dd3 GH-676 Relax SpEL evaluation failures for input header enrichment
Add documentation

Resolves #676
2021-05-24 15:18:28 +02:00
Oleg Zhurakousky
9ad2788183 GH-676 Add split condition test for header enrichment 2021-05-20 07:32:49 +02:00
Oleg Zhurakousky
b14c86a3d1 GH-676 Improvements to header enrichment 2021-05-19 16:52:50 +02:00
Oleg Zhurakousky
280b8844c7 GH-676 Add initial support for mapping/re-mapping input headers
Add BeanResolver
2021-05-14 10:16:41 +02:00
Oleg Zhurakousky
15c58fd63f GH-680 Add support for strict (or not) dependency on target-protocol header for CE
Resolves #680
2021-04-14 18:49:01 +02:00
Oleg Zhurakousky
92468bcd53 Merge additional test to ensure propper type conversion 2021-04-10 08:10:23 +02:00
Taras Danylchuk
2c82cf91f8 gh-608 issue 2021-04-10 07:59:38 +02:00
Oleg Zhurakousky
4837efdcca Add test for FunctionAroundWrapper 2021-04-08 17:10:17 +02:00
Oleg Zhurakousky
fc42819357 GH-662 Fix support for reactive functions in AWS
This commit also includes other minor fixes around CustomRuntime which was getting in the way of this specific issue
 Added lookup for _HANDLER env variable
 Added few tests (will need more)
 Added support for Iterable for reactive functions

Resolves #662
2021-04-08 15:57:14 +02:00
Oleg Zhurakousky
324a978dab GH-679 Add test to validate output conversion for composed functions
Resolves #679
2021-04-07 11:53:17 +02:00
Oleg Zhurakousky
c4dfffe0ba GH-640 Fix NPE with non-Message json conversion
Resolves #640

Added test
2021-02-05 16:12:31 +01:00
Oleg Zhurakousky
fbc2ca815a GH-635 Fix support for returning empty Collections
Resolves #635
2021-01-22 16:43:55 +01:00
Oleg Zhurakousky
3d4bd14926 GH-620 Add BeanResolver support for RoutingFunction
Resolves #620

polish
2021-01-22 14:52:04 +01:00
ncheema
9bbb86be2d method already has a condition to retrieve immediateGenericType for a message
This condition was meant to be removed as part of #543

Resolves #624
2021-01-11 10:43:09 +01:00
Oleg Zhurakousky
bc4b5b3f80 Add stream (kafka, Rabbit) and Rsocket examples for Cloud Event 2020-12-18 16:44:29 +01:00
Oleg Zhurakousky
e86d397433 Cleaned up Cloud Event support around reactive functions
Added reactive tests
Restructured CloudEventsFunctionInvocationHelper
2020-12-11 14:34:32 +01:00
Oleg Zhurakousky
848866686e Fix Cloud Events support for Message functions
Ensured Cloud Event completness by adding assertion for required attributes as well as generation of default values for attributes such as ID and SPECVERSION
2020-12-02 18:22:17 +01:00
Oleg Zhurakousky
c07722dab3 Tidy up logic around canonicalization of attributes
Added initial test to validate builder and utils
2020-12-02 15:17:17 +01:00
Oleg Zhurakousky
a318b88da7 interim 2020-12-02 13:10:05 +01:00
Oleg Zhurakousky
98c9d56442 Change canonical format of Cloud Event Message attributes to have 'ce-' prefix 2020-12-02 11:24:03 +01:00
Oleg Zhurakousky
28184039de Restructure Cloud Events support to optionally support Cloud Events SDK 2020-12-01 22:12:34 +01:00
Oleg Zhurakousky
d893be5533 GH-611 Add test to ensure there is no regression
Resolves #611
2020-11-23 20:25:18 +01:00
Oleg Zhurakousky
9d1d74cc76 GH-609 Fix support for missmatched Publishers
Given that s-c-f-web always sends input as Flux, it creates issues for Function<Mono, Mono>, so this fixes it
Resolves #609
2020-11-20 12:13:52 +01:00
Oleg Zhurakousky
2e119a3dd6 GH-608 Add test to validate there is no regression
Resolves #608
2020-11-20 11:27:03 +01:00
Oleg Zhurakousky
d7a0324d00 Fix spelling errors in method name 2020-11-17 16:54:29 +01:00
Oleg Zhurakousky
1498cb4f96 Add additional Cloud Event function test 2020-11-17 08:58:53 +01:00
Oleg Zhurakousky
8ea309c45b Clean up and simplifications around CloudEvent processing
This commit effectively a merge of work with #607 and simplifies the following
- CloudEventAttributesProvider now provides CloudEventAttributes initialized with defaults to be set by the user
- In HTTP RequestProcessor the logic of sanitizing headers was improved to ensure that correct prefix is applied

Resolves #607
2020-11-16 13:40:53 +01:00
Oleg Zhurakousky
40d06b8c95 GH-422 GH-606 Add support for normalizing structure-mode CE message
Normalizing in this context means converting it to binary-mode so the rest of the processing logic is the same.
Added support for canonical attribute names. Now, internally any attribute can be set as 'ce_' regardless where it came from are where it goes to as the frameork will be able to recognize both
Removed CloudEventMessageConverter
Renamed CloudEventAttributes to CloudEventAttributesHelperas it is better suited to what it actually does
2020-11-16 12:06:33 +01:00
Oleg Zhurakousky
b9f417a4da Make CloudEventAttributesProvider a FunctionalInterface
Related to #422 and #606
2020-11-16 08:41:42 +01:00
Oleg Zhurakousky
632e73caf9 Fix CloudEvent prefix and fix the name of CloudEventAttributesProvider.java 2020-11-13 16:07:33 +01:00
Oleg Zhurakousky
f0b2ce7691 GH-422 GH-606 Add support for simplifying message headers to attribute mapping
Added CloudEventAttributesProvider and default implementation
Added CloudEventMessageUtils
2020-11-13 10:24:27 +01:00
Oleg Zhurakousky
a26ad928f6 GH-422 Formalize Cloud Event conversion strategy to consistently handle binary-mode and structured-mode cloud events
Moved CloudEvent related artifacts to ‘cloud events’ package with hopes to eventually donating it to CNCF SDK
Created CloudEventUtils identifying necessary constants and utility methods
2020-11-12 17:01:42 +01:00
Oleg Zhurakousky
27d0d8afd9 GH-422 Add RabbitMQ instructions for Cloud Events interaction 2020-11-11 11:53:39 +01:00
Oleg Zhurakousky
eba94a699b PR-605 less formatting
Resolves #605
2020-11-09 16:16:23 +01:00
Oleg Zhurakousky
68319b1869 GH-601 add test to validate the issue is fixed
Resolves #601
2020-11-09 15:35:35 +01:00
Oleg Zhurakousky
ca9ffb06e7 GH-602 Ensure collections with converted items are not converted again
Resolves #602
2020-11-09 14:07:20 +01:00
Oleg Zhurakousky
c21bc3895d Additional clean up and polishing 2020-11-04 10:43:29 +01:00
Oleg Zhurakousky
ba15726c9a Re-enable support for around advise 2020-10-26 08:29:16 +01:00
Oleg Zhurakousky
bee53fceb3 Consolidate mechanisms around retaining headers and skipping input/output conversion 2020-10-23 13:19:03 +02:00
Oleg Zhurakousky
222aac77cc GH-596 Add support for handling conversion of complex types
Resolves #596
2020-10-21 14:36:50 +02:00
Oleg Zhurakousky
818cda144c Deprecate and remove all usages of FunctionInspector 2020-10-19 18:11:11 +02:00
Oleg Zhurakousky
3f1315c523 Consolidate isMessage() operation 2020-10-19 14:57:55 +02:00
Oleg Zhurakousky
89466b5cdc Refactor FunctionCatalog implementation 2020-10-16 17:59:06 +02:00