Commit Graph

60 Commits

Author SHA1 Message Date
Oleg Zhurakousky
778672e6ea Add test assertions to validate header propagation for rsocket message 2021-03-10 15:38:13 +01:00
Oleg Zhurakousky
3255ae7455 Fix header propagation for rsocket message 2021-03-10 15:25:50 +01:00
Oleg Zhurakousky
73164beb68 Fix checkstyle 2021-03-10 06:51:01 +01:00
Oleg Zhurakousky
6f90410dda 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
e4cdd9b7a4 Cleanup 'handleAndReply' logic in RSocketListenerFunction 2021-03-05 09:51:59 +01:00
Oleg Zhurakousky
1ba0315460 Fix Message sanitizing logic in FunctionRSocketUtils
Only sanitize headers that are not serializable
2021-03-05 08:43:19 +01:00
Oleg Zhurakousky
e5c7452933 GH-663 Fix how strtategies are used to register additional encoders/decoders
Resolves #663
2021-03-05 08:08:16 +01:00
Oleg Zhurakousky
694d831adf GH-660 Add initial suppport for sending/receiving Messages
Resolves #660
2021-03-03 06:38:33 +01:00
Oleg Zhurakousky
1f43bbce28 GH-654 Remove FunctionProperties injection from MessageRoutingCallbackRSocketTests 2021-02-24 13:31:31 +01:00
Oleg Zhurakousky
410d494467 GH-654 Add more tests, cleanup and initial javadoc 2021-02-24 08:49:53 +01:00
Oleg Zhurakousky
26c11b4463 GH-654 Fix how RoutingFunction is treated by RSocketListenerFunction 2021-02-23 16:58:37 +01:00
Oleg Zhurakousky
29115aeb64 GH-654 Initial support for non-SpEL based routing mechanism 2021-02-23 06:19:45 +01:00
Oleg Zhurakousky
71c0d6d71e Fix spelling error in constant name 2021-02-22 14:11:27 +01:00
Oleg Zhurakousky
3821e5745c 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
0abce5a2b8 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
54eedc6713 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
57776c6b0c 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
7c216847b2 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
81d6998635 Add initial RSocket test with RoutingFunction 2021-02-18 14:42:14 +01:00
Oleg Zhurakousky
a6cb0fde3c Fix RSocket CloudEvents sample 2021-01-27 15:29:16 +01:00
Oleg Zhurakousky
ab59776fb5 GH-590 Add initial RSocket documentation 2020-12-21 10:26:55 +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
e58643c032 Clean up FunctionTypeUtils 2020-10-19 14:44:37 +02:00
Oleg Zhurakousky
89466b5cdc Refactor FunctionCatalog implementation 2020-10-16 17:59:06 +02:00
Oleg Zhurakousky
3b26ca1282 Revert "Temporarily disable rsocket-routing-broker integration"
This reverts commit c3d6b48e92.
2020-09-23 17:12:46 +02:00
Oleg Zhurakousky
c3d6b48e92 Temporarily disable rsocket-routing-broker integration 2020-09-23 16:24:01 +02:00
Oleg Zhurakousky
6c6f98fa1d Re-enable routing broker tests after fixes in routing broker 2020-09-17 11:43:54 +02:00
Oleg Zhurakousky
d3afd1fea4 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
e1adb011ab Inject LOOKUP_DESTINATION_HEADER if definition property is not used 2020-09-15 13:51:49 +02:00
Oleg Zhurakousky
584d238b9e Remove dead code from FunctionRSocketMessageHandler
Add and clean up tests
2020-09-02 08:27:51 +02:00
Oleg Zhurakousky
b053761be7 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
f0ad6bf8ac Updates to new routing client broker tcp properties 2020-08-31 19:14:58 -04:00
Oleg Zhurakousky
85b591cb89 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
6a13436723 Annotate FunctionRSocketMessageHandler @Primary 2020-08-31 13:58:23 +02:00
Oleg Zhurakousky
81e35490ea Code cleanup for rsocket module 2020-08-28 17:47:54 +02:00
Spencer Gibb
87187692ae 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
8801efa445 Temporary disabling of RoutingBrokerTests 2020-08-28 09:16:05 +02:00
Oleg Zhurakousky
353fd2e8d0 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
e4c999b3ea Updates property based metadata to use uppercase function name 2020-08-27 13:51:21 -04:00
Oleg Zhurakousky
b681fb96d6 Cherry-pick type of merge the work from Artem in #580
Resolves #580
2020-08-27 14:34:24 +02:00
Oleg Zhurakousky
2607cfc34b Formatting test code 2020-08-26 15:23:31 +02:00
Oleg Zhurakousky
9a1827d291 Ad initial support for propagating metadata as Message headers 2020-08-26 15:19:23 +02:00
Oleg Zhurakousky
91661c3887 Add RSocketRequester configuration for tests 2020-08-26 14:35:34 +02:00
Oleg Zhurakousky
0640de87dd Remove custom server creation logic and rely on boot instead
Resolves #579
2020-08-26 10:03:11 +02:00
Oleg Zhurakousky
78de449d25 Polish RoutingBrokerTests 2020-08-25 21:20:11 +02:00
spencergibb
87f71a55e5 Uses renamed RoutingMetadata 2020-08-25 14:17:36 -04:00
spencergibb
eb405e0af5 Creates RSocketRoutingAutoConfiguration.
Moves rsocket-routing-client-spring to an optional dependency.
2020-08-25 14:10:32 -04:00
spencergibb
21ce6ed517 Comment out SpringRouting 2020-08-25 12:16:34 -04:00
spencergibb
a0940a4863 Uses property based routing client request metadata 2020-08-25 12:14:01 -04:00
spencergibb
db28b7efdc Migrates to using rsocket-routing-broker 2020-08-24 15:49:31 -04:00