Commit Graph

71 Commits

Author SHA1 Message Date
spencergibb
21c9e9cf9d Updates broker to 0.3.0
Resolves #775
2021-12-01 08:59:10 +01:00
Oleg Zhurakousky
384cd8509b Fix previous commit's byte[] handling 2021-09-23 16:04:00 +02:00
Oleg Zhurakousky
bc5f449832 Fix handling of byte[] in MessageAwareJsonDecoder 2021-09-23 14:55:18 +02:00
Oleg Zhurakousky
28b1c86849 GH-745 Ensure RSocket support is ready to receive non-Message 2021-09-22 17:24:37 +02:00
Oleg Zhurakousky
acc5548b54 GH-745 Fix conversion issue with json Strings and byte[]
Resolves #745
2021-09-22 12:11:00 +02:00
Oleg Zhurakousky
f95c10337c Split RSocket configuration from RSocketStrategiesCustomizer 2021-09-08 17:29:33 +02:00
Oleg Zhurakousky
dc98f0b49f GH-709, GH-684, GH-641 Upgrade AWS dependency
Refactor and simplify AWSLambdaUtils to work with AWS serialization libraries
Add support for API v2 gateway event

Resolves #709
Resolves #684
Resolves #641
2021-07-22 18:57:57 +02:00
Oleg Zhurakousky
2f425abb3f Minor simplification in FunctionRSocketMessageHandler 2021-03-17 14:58:35 +01:00
Oleg Zhurakousky
93ce61f5ab RSocket - Add Cbor test, fixed consumer test and minor cleanup
polish
2021-03-16 20:53:48 +01:00
Oleg Zhurakousky
d509640827 GH-667 Ensure delegation to other available argument resolvers
In RSocket module we provide custom argument resolver that is aware of how to create a Message if incoming data is application/json
However in the event it's anything else, this fix ensures that there is a delegation model to give other argument resolvers a chance

Resolves #667
2021-03-16 13:00:37 +01:00
Oleg Zhurakousky
51dd8cf1d5 Fix encoder/decoder to return decodableMimeTypes
This effectively fixes the Cbor exclusiion
2021-03-15 12:23:27 +01:00
Oleg Zhurakousky
ab84bb8a14 Add test assertions to validate header propagation for rsocket message 2021-03-10 15:38:13 +01:00
Oleg Zhurakousky
2dea991c3e Fix header propagation for rsocket message 2021-03-10 15:25:50 +01:00
Oleg Zhurakousky
485d6967bd Fix checkstyle 2021-03-10 06:51:01 +01:00
Oleg Zhurakousky
9f8c29a4e7 Remove dependency on web classes from new Encoder/Decoder implementation
The web dependency still need to be there since it appears that spring-rsocket requires it
2021-03-05 15:08:25 +01:00
Oleg Zhurakousky
c8a0cebd1f Cleanup 'handleAndReply' logic in RSocketListenerFunction 2021-03-05 09:51:59 +01:00
Oleg Zhurakousky
157949df93 Fix Message sanitizing logic in FunctionRSocketUtils
Only sanitize headers that are not serializable
2021-03-05 08:43:19 +01:00
Oleg Zhurakousky
fcd427ca29 GH-663 Fix how strtategies are used to register additional encoders/decoders
Resolves #663
2021-03-05 08:08:16 +01:00
Oleg Zhurakousky
f80d0de0a3 GH-660 Add initial suppport for sending/receiving Messages
Resolves #660
2021-03-03 06:38:33 +01:00
Oleg Zhurakousky
1f818dd639 GH-654 Remove FunctionProperties injection from MessageRoutingCallbackRSocketTests 2021-02-24 13:31:31 +01:00
Oleg Zhurakousky
9d6a23f102 GH-654 Add more tests, cleanup and initial javadoc 2021-02-24 08:49:53 +01:00
Oleg Zhurakousky
40d0507609 GH-654 Fix how RoutingFunction is treated by RSocketListenerFunction 2021-02-23 16:58:37 +01:00
Oleg Zhurakousky
3b8b110e0a GH-654 Initial support for non-SpEL based routing mechanism 2021-02-23 06:19:45 +01:00
Oleg Zhurakousky
427669a97c Fix spelling error in constant name 2021-02-22 14:11:27 +01:00
Oleg Zhurakousky
386931966c GH-653 Retain original 'lookupDestination' while adding 'reconsiledLookupDestination'
This is necessary to retain user provided information while also prpviding a way to reconsile the actual destination/function
2021-02-22 14:08:02 +01:00
Oleg Zhurakousky
59d0314435 GH-652 Improve error messaging and function exist check
FunctionRSocketUtils looks up function by a bean name hen it attempts  to determine if there is a remote routing. That is not correct since bean name may not exist if function was manually registered. Also, the error message 'Must only contain one output redirect' was not clear as it was not showing the actual function name for propper debugging

Resolves #651
2021-02-22 12:19:57 +01:00
Oleg Zhurakousky
27acfd8cc3 GH-653 Add documentation and additional test to validate function definition order for RSocket
Resolves #653
2021-02-22 11:41:06 +01:00
Oleg Zhurakousky
56b3c49120 GH-653 Make consistent priority order of function definition in RSocket
With this commit spring.cloud.function.routing-expression property takes precedence over all, then route(<function.definition>) and then spring.cloud.function.definition property
2021-02-22 11:11:55 +01:00
Oleg Zhurakousky
a161dfa660 Simplified RoutingFunction configuration
If routing-expression is provided there is no need to explicitely set function.definition to 'functionRouter'
2021-02-18 15:35:26 +01:00
Oleg Zhurakousky
e437fa2181 Add initial RSocket test with RoutingFunction 2021-02-18 14:42:14 +01:00
Oleg Zhurakousky
b2e783490c Fix RSocket CloudEvents sample 2021-01-27 15:29:16 +01:00
Oleg Zhurakousky
d27dcbb7de GH-590 Add initial RSocket documentation 2020-12-21 10:26:55 +01:00
Oleg Zhurakousky
8ece3d3083 Add stream (kafka, Rabbit) and Rsocket examples for Cloud Event 2020-12-18 16:44:29 +01:00
Oleg Zhurakousky
14918ebf16 Clean up FunctionTypeUtils 2020-10-19 14:44:37 +02:00
Oleg Zhurakousky
72f05fc591 Refactor FunctionCatalog implementation 2020-10-16 17:59:06 +02:00
Oleg Zhurakousky
bf001bc754 Revert "Temporarily disable rsocket-routing-broker integration"
This reverts commit 63f655fb45.
2020-09-23 17:12:46 +02:00
Oleg Zhurakousky
63f655fb45 Temporarily disable rsocket-routing-broker integration 2020-09-23 16:24:01 +02:00
Oleg Zhurakousky
54b0b3b376 Re-enable routing broker tests after fixes in routing broker 2020-09-17 11:43:54 +02:00
Oleg Zhurakousky
e19ed2ff68 GH-587 Add support for inferring 'accept' content type for simple types
This fix also introduces new Function property 'accept' with no default value which implicitely would default to application/json unless the output type of the function is String at which point it would default to text/plain. However, if it was explicitely set in FunctionProperties it will be used regardless of the function output type.
Resolves #587
2020-09-16 18:14:40 +02:00
Oleg Zhurakousky
a4763ee879 Inject LOOKUP_DESTINATION_HEADER if definition property is not used 2020-09-15 13:51:49 +02:00
Oleg Zhurakousky
a057fea6b0 Remove dead code from FunctionRSocketMessageHandler
Add and clean up tests
2020-09-02 08:27:51 +02:00
Oleg Zhurakousky
f2f1432912 GH-585 Add initial support for passing/parsing Message headers
This woudl allow Message headers to be passed as JSON string via rsocket metadata

Resolves #585
2020-09-01 13:21:58 +02:00
Spencer Gibb
d120f49025 Updates to new routing client broker tcp properties 2020-08-31 19:14:58 -04:00
Oleg Zhurakousky
f450e4a2eb Add special handling for JSON Strings
Added support to JsonMessageConverter to pass string as is if input type is String
Added guard condition to RSocketListenerFunction to avoid NPE if target function can not be discovered
2020-08-31 16:35:18 +02:00
Oleg Zhurakousky
4215c92936 Annotate FunctionRSocketMessageHandler @Primary 2020-08-31 13:58:23 +02:00
Oleg Zhurakousky
e4e8d22f7f Code cleanup for rsocket module 2020-08-28 17:47:54 +02:00
Spencer Gibb
940aab1e31 Re-enables RoutingBrokerTests
Also updates comments on `.route("uppercase")` as this is now required for `FunctionRSocketMessageHandler`
2020-08-28 10:45:59 -04:00
Oleg Zhurakousky
4007b88efb Temporary disabling of RoutingBrokerTests 2020-08-28 09:16:05 +02:00
Oleg Zhurakousky
123ced3fb6 Fix distributed composition test
Added override of handleMessage(..) to FunctionRSocketMessageHandler to be able to register functions on demand instead of pre-registering all of them during the init
2020-08-28 09:14:57 +02:00
Spencer Gibb
6554d27751 Updates property based metadata to use uppercase function name 2020-08-27 13:51:21 -04:00