Commit Graph

76 Commits

Author SHA1 Message Date
Dave Syer
773dddbe68 Ensure composite wrapper type reflects reality
When a Supplier<Flux<Foo>> is composed with a Function<Foo,Bar>
the resulting handler (supplier) should have Flux as its output
wrapper still (the most general output wrapper type in the chain).
2018-03-16 08:35:21 -04:00
Dave Syer
8ab4d61bb4 Align MVC handling between Spring 4 and Spring 5
A Spring Boot 2.0 app should behave the same as a Spering Boot 1.5
app with this change. The key thing was to change the return type
of the FunctionController and move the computation of single
valuedness for the output there (instead of trying to do it in the
return value handler, which isn't used in Spring 5).
2018-03-16 07:08:43 -04:00
Dave Syer
9a2f21e051 Upgrade pojo sample to Boot 2.0 as integration test 2018-03-15 06:45:58 -04:00
Dave Syer
42a7babb7d Remove unecessary thin plugin execution and tidy up dependencies
Fixes #109
2018-02-24 08:15:54 +00:00
trisberg
d515781d6a Some more updates to Boot 1.5.10 2018-02-23 20:00:30 +00:00
Dave Syer
bf41055dc7 Some dependency hygiene and update to Boot 1.5.10
The web module doesn't really need to depend on tomcat and all of
the Spring Boot web stack, but users need a way to grab that stuff
quickly if they want it (hence the new starter).

Also removed all spring-boot-starter dependencies from core and
context modules.
2018-02-23 12:12:06 +00:00
Dave Syer
a2a2932715 Revert to snapshots 2018-02-21 07:24:21 +00:00
Dave Syer
72efd58675 Update to 1.0.0.M4 2018-02-20 19:25:11 +00:00
Dave Syer
54873b66d5 Fix test 2018-01-25 09:36:37 +00:00
Dave Syer
ab30b755ba Add test to azure sample 2018-01-25 09:20:20 +00:00
Dave Syer
b0bddd3160 Handler for azure sample calls super in different method
If FooHandler extends AzureSpringBootRequestHandler apparently
Azure cannot extract the generic types Foo and Bar.
2018-01-24 15:56:40 +00:00
Dave Syer
7604de3ca7 Attempt to write JSON by hand 2018-01-24 14:54:41 +00:00
Soby Chacko
308e4d5514 Experimental Azure function adapter for HTTP trigger 2018-01-24 14:54:33 +00:00
Dave Syer
73098244e3 Revert to snapshots 2018-01-20 11:57:49 +00:00
Dave Syer
77e0a5c514 Update to 1.0.0.M3 2018-01-19 13:55:34 +00:00
Dave Syer
684735ed22 Update gradle builds to latest reactor 2018-01-18 13:11:02 +00:00
Dimitry Declercq
8c963bf456 Example implementation for Aws API Gateway
User can extend SpringBootApiGatewayRequestHandler instead of the
generic SpringBootRequestHandler. It ties the code to AWS and the
API Gateway, but at least it supports the incoming data fully.

Fixes gh-111, closes gh-136
2018-01-18 13:01:10 +00:00
Dave Syer
939f5a8b1a Reflection hack to provide Spring Boot 2.0 compatibility 2018-01-09 13:01:24 +00:00
Dave Syer
9c1a9bff4e Fix reactor dependencies 2018-01-03 15:59:20 +00:00
Dave Syer
1af0d451cf Migrate to servlet binder for web features 2018-01-03 15:06:33 +00:00
Dave Syer
540b4d378e Update sample builds to latest versions 2017-12-11 15:39:01 +00:00
Dave Syer
e1bce8c292 Change name of property endpoint -> defaultRoute 2017-11-24 13:28:31 +09:00
Dave Syer
f3951cba66 Prefer explicit route to default 2017-11-24 13:21:08 +09:00
Dave Syer
0e21a30459 Don't use properties to fix the function endpoint
There are multiple functions in this sample, and they are
all addressable, so we don't need to force all messages to go
to uppercase.
2017-11-24 12:42:21 +09:00
Dave Syer
b1437fe9c0 Align pom names with artifact ids 2017-10-25 09:50:18 +01:00
Dave Syer
55b62d630b Remove @FunctionScan from samples where possible 2017-10-25 08:53:14 +01:00
Dave Syer
af8b6e253e Revert to snapshots 2017-09-15 17:49:31 +01:00
Dave Syer
858b7404c6 Update to 1.0.0.M1 2017-09-15 17:48:51 +01:00
Dave Syer
fbf62658e7 Cosmetic changes to metadata of sample 2017-09-15 13:51:40 +01:00
Dave Syer
dcdde7e067 Move AWS sample alongside other samples 2017-09-15 13:48:33 +01:00
Dave Syer
472f0e31b6 Prune dependencies and rename samples 2017-09-15 13:44:55 +01:00
Dave Syer
61a902ce9a Add spring-cloud-function-dependencies and use it throughout 2017-09-15 09:34:44 +01:00
Dave Syer
b7aa1d0293 Add gradle builds to all samples
They all work except the AWS one, where the shadow plugin seems to
prang the thin launcher one. Removing the thin plugin gets us
something that works.

Fixes gh-105
2017-09-04 17:59:55 +01:00
Dave Syer
6acacde0b3 Add build.gradle to basic sample 2017-09-04 17:59:39 +01:00
Dave Syer
69a5d1450f Add explicit context dependencies 2017-09-04 17:59:31 +01:00
Dave Syer
a54f101b6d Make sure test jar is in test scope 2017-07-06 11:11:02 +01:00
Dave Syer
cf707fd872 Update thin launcher to 1.0.5 2017-06-29 08:50:33 +01:00
Dave Syer
d826884d02 Ensure @Component scanned from jar on classpath can be inspected
And test it using a new POF sample.
2017-06-28 17:52:37 +01:00
Dave Syer
5243057d2a Skip deployment of samples 2017-06-28 11:07:47 +01:00
Dave Syer
b9eb46c7bd Update thin launcher to 1.0.4 2017-06-27 09:47:43 +01:00
markfisher
9d0d04f4f6 updated task sample for consumer change 2017-05-26 15:26:25 -04:00
Dave Syer
99c7b995e0 Add FunctionFactoryMetadata interface for type discovery
The compiled functions implement that interface which means you can inspect
the signature of the method that created them and discover its
generic types.
2017-05-26 10:09:47 +01:00
markfisher
841d4cdf48 fix compiled consumer sample 2017-05-25 09:27:49 -04:00
Dave Syer
0d2418a47b Add "wrapper" type methods to FunctionInspector
These can be used to more reliably discover whether the user
has declared a function with flux types or "bare" POJOs. They
then pave the way to supporting single valued types in a special
way.

Also consolidate and simplify the logic in FunctionInspector
2017-05-24 09:10:46 +01:00
Dave Syer
6e1f0b9a6e Add FunctionInspector to deployer so types can be inspected
ALso added a bunch of DEBUG logging because it's hard to debug the
deployer app.

Fixed gh-53
2017-05-22 10:57:47 +02:00
markfisher
56b9be9b6e add task sample 2017-05-17 22:35:10 -04:00
markfisher
f6355df58d added rabbit binder dependency to sample 2017-05-05 09:20:03 -04:00
Dave Syer
69c22482d1 Add more subtle content negotiation in web layer
So that single Strings can be POSTed without JSON conversion.
There's still some work to do to support single POJOs in JSON, and
to reach parity with the WebFlux reactive type handlers, but it's
now closer to what we had before we moved the String conversion
out of the function layer.
2017-05-05 09:22:23 +01:00
Dave Syer
e2c257b3e7 Fix sample so the thin.profile=stream works 2017-04-27 12:33:08 +01:00
Dave Syer
39ca7952b9 Fix some tests
There is one behaviour change (you have to POST an array to a function
endpoint if you are sending a body), and also a message converter that
needed to be removed so that arrays are not toStringed in the response
body.
2017-04-25 08:51:31 +01:00