Commit Graph

492 Commits

Author SHA1 Message Date
Oleg Zhurakousky
417a6a75c1 Clean up tidy up RequestProcessor 2018-11-16 14:12:50 +01:00
Oleg Zhurakousky
c46f25a000 GH-228 Added support for treating text/* CT as a special case
Resolves #228
2018-11-16 12:47:27 +01:00
Dave Syer
e9b289d995 Remove unused import 2018-11-12 14:31:24 +00:00
Dave Syer
cd89f45191 Add support for empty function.bean
If there is a unique function it should be unambiguous. This change
also supports multiple functions, but the naming is unhelpful then
("function[0,1,2,]").
2018-11-12 14:07:36 +00:00
Dave Syer
9c6c7d09d4 Ensure ContextRunner class can be loaded
Even if FunctionalSpringApplication is not available.
2018-11-12 12:02:55 +00:00
Dave Syer
10f446d6b5 Ensure ContextRunner can be used to run a non-functional application 2018-11-12 11:07:36 +00:00
Dave Syer
aba50816f7 Add support for detecting FunctionRegistration or Function
User can now provide a Function or an ApplicationInitializer. Also
the initializer can create a FunctionRegistration with the handler
name instead of a bean with the handler name. Better control of
input and output types that way.

Fixes gh-231
2018-11-09 12:38:37 +00:00
Oleg Zhurakousky
d1b9a9b3fb Cleaned up FunctionContextUtils
cleaned up FunctionContextUtils to be more generic and return Type instead of FunctionType
2018-11-08 11:17:16 +01:00
Oleg Zhurakousky
8eb7e06e02 GH-227 Moved Kotlin transformation to BFPP
resolves #227
2018-10-31 16:59:53 +01:00
Oleg Zhurakousky
159e2108a2 Upgraded Kotlin plugin 2018-10-31 11:19:42 +01:00
Marcin Grzejszczak
ca624f1a11 Bumping versions 2018-10-31 09:29:35 +01:00
Oleg Zhurakousky
242feecd4e Removed reference to the spring-cloud-stream from the doc 2018-10-29 14:53:32 +01:00
Rashidi Zin
649011a1fd Fix typo
Fix misspelled of "dependencies"
2018-10-29 09:26:18 +00:00
Dave Syer
c43af567ea Make ObjectMapper optional
Plain text will just be passed straight through.

Fixes gh-226
2018-10-29 09:24:44 +00:00
Dave Syer
a03e34b6ee Tidy up TBD in docs 2018-10-29 09:01:34 +00:00
buildmaster
9cf723949b Going back to snapshots 2018-10-29 08:19:29 +00:00
buildmaster
e2f4d0a9e5 Update SNAPSHOT to 2.0.0.RC1 2018-10-29 08:15:29 +00:00
Dave Syer
1206acd6bf Use INFO instead of ERROR logger for JVM startup message 2018-10-28 08:20:21 +00:00
Oleg Zhurakousky
37e1f0a4da Polished collection support
Polished collection support tp ensure we can support various types of collection such as List, Set etc.
2018-10-27 13:34:06 +02:00
Oleg Zhurakousky
880333d394 GH-224 Added kotlin/java func composition test
Added test to make ure that Kotlin and Java functions are composable
Resolves #224
2018-10-26 16:16:57 +02:00
Oleg Zhurakousky
265a9d61aa general cleanup 2018-10-26 16:11:55 +02:00
Dave Syer
bf9ab3ac0a Fix multi-part form handling for WebFlux apps
In WebFlux (but not MVC) you have to explicitly ask for the multi-
part content separately from the form data.

Fixes gh-223
2018-10-26 09:53:17 +01:00
Dave Syer
a735f50daa Inspect FunctionType to extract collection item type
Resurrects some code from #222 (the test didn't go far enough
when that issue was closed).
2018-10-26 08:00:56 +01:00
Dave Syer
c1bce87771 Update POJO sample to use webflux 2018-10-25 16:35:17 +01:00
Dave Syer
f5b09e8d27 Switch back to MVC for pojo sample 2018-10-25 15:22:44 +01:00
Dave Syer
9b9df1e7dc Polish 2018-10-25 15:02:35 +01:00
Dave Syer
2691b20a4b Tighten up multi-valued inputs to "lite" HTTP endpoint
If the user function is single valued but the input is an array,
we should output an array (just like the full webflux version).
2018-10-25 14:06:34 +01:00
Oleg Zhurakousky
2e5c6d22b5 Added support for input Collection param
Added support for function parameter type Collection
Updated both Jackson and Gson mappers
Defined a new toObject() operation on JsonMapper and deprecated the old

Resolves #210
2018-10-25 12:47:41 +01:00
buildmaster
435e4d0438 Going back to snapshots 2018-10-23 13:35:10 +00:00
buildmaster
0c5ad6acbd Update SNAPSHOT to 2.0.0.M4 2018-10-23 13:31:46 +00:00
Dave Syer
54deae5dba Ensure FunctionalSpringApplication works with String sources 2018-10-23 14:03:43 +01:00
Dave Syer
c3b03a1b11 Use web-application-type=reactive by default if webflux present
We want the default application type to be REACTIVE if webflux is
present (formerly it was NONE). In AWS and Azure we also want
the webflux beans to be switched off in a "lite" application
context (formerly they were unconditional).
2018-10-23 14:03:43 +01:00
Oleg Zhurakousky
9e2cbf49dd Added POJO test for 'lite' server scenario
polishing
2018-10-22 20:23:29 +02:00
Dave Syer
263fe1c632 Add support for Function<Message,Message> in lite server
Fixes gh-221
2018-10-22 16:35:52 +01:00
Dave Syer
592889c0fb Pull BasicStringConverter out into top level class 2018-10-22 14:06:30 +01:00
Dave Syer
32a56cfd45 Add note about limitation in Function signature for 'lite' web server 2018-10-22 13:42:34 +01:00
Oleg Zhurakousky
af717e445d Polishing
Resolves #219
2018-10-22 14:26:59 +02:00
Dave Syer
ba34d4b81b Add @FunctionalSpringBootTest and mini web server
User can run a minimal HTTP app using an app that is a Function
or an ApplicationContextInitializer. Can also test using
@FunctionalSpringBootTest in place of @SpringBootTest.

Add some tests and documentation for functional beans

Make server.address configurable
2018-10-22 14:26:17 +02:00
Dave Syer
4315cb1d61 SpringApplication->FunctionalSpringApplication (less confusing) 2018-10-18 09:38:27 +01:00
Dave Syer
c4ee7ab065 Add other annotation processors to functional context 2018-10-18 09:36:43 +01:00
Oleg Zhurakousky
ae07a13d03 GH-56 Added support for Function<Flux, Mono> and <Mono, Flux>
Resolves #56
Resolves #218
2018-10-17 21:14:27 -04:00
Dave Syer
baabff9a40 Prefer web application type NONE in functional app 2018-10-17 13:51:42 +01:00
Dave Syer
6c0e1bfc2f Typo in javadoc 2018-10-16 16:39:29 +01:00
Oleg Zhurakousky
31e689b108 GH-208 polishing ec68f64 commit
Ensured that the composed Supplier is of type Mono<Void>
Fix tests
2018-10-14 20:29:13 -04:00
Oleg Zhurakousky
8c2fdfd193 GH-198 added multi-function validation test
Added test to validate that the behavior described in GH-198 is intentional and useful especially in light og GH-208
Resolves #198
2018-10-14 19:43:36 -04:00
Oleg Zhurakousky
ec68f6453c GH-208 Added support for composing Supplier and Consumer
This essentially returns a terminal Supplier - Supplier<Flux<Void>> which can no longer be composed with anything else
Resolves #208
2018-10-14 19:29:23 -04:00
Dave Syer
666bc100e8 Extract functional bean definition concerns into a common class
SpringApplication looks like the class with the same name in Spring
Boot (and is a subclass of it), but it checks to see if the user
is asking for functional bean registrations and only used those if
it can.
2018-10-12 18:00:41 +01:00
Dave Syer
083d5e3bf3 Harmonize AWS and azure adapters 2018-10-12 17:10:13 +01:00
Dave Syer
3966f378b7 Add support for application type Function in Azure
See #215
2018-10-12 16:53:42 +01:00
Dave Syer
14af9647b3 Fix test that wasn't supposed to be ignored 2018-10-11 15:08:19 +01:00