Commit Graph

209 Commits

Author SHA1 Message Date
Oleg Zhurakousky
2aed5abff8 GH-408 Enhance RoutingFunction with SpEL and application properties
- Added initial support for communicating routing instructions via SpEL thru both message headers and application properties
- Added support for communication function definition via application properties
- Added additional tests and updated documentation

Resolves #408
2019-09-10 09:25:40 +02:00
Oleg Zhurakousky
7611cba69e GH-387 Added initial support for flexible function signatures
- Added support for simple POJO functions
- Added additional utility methods
2019-08-22 16:58:18 +02:00
buildmaster
ef0e42dd6f Going back to snapshots 2019-08-13 06:02:38 +00:00
buildmaster
b49e116cf2 Update SNAPSHOT to 3.0.0.M2 2019-08-13 05:56:32 +00:00
Oleg Zhurakousky
9b1e69f05d Removed auto-fluxing Supplier result when Supplier is not reactive 2019-07-26 15:33:26 +02:00
Oleg Zhurakousky
243cf95eca GH-388 Adding utility to interogate Function types
- refactoring of BeanFactoryAwareFunctionRegistry to eliminate the need for FunctionType as it takes certain assumptions that are no longer valid
- adding support for multiple acceptedOutputTypes to FunctionCatalog

Resolves #388
2019-07-24 12:12:52 +02:00
Oleg Zhurakousky
fbeee8bc37 Renamed new registry implementation to BeanFactoryAwareFunctionRegistry
- added initila javadoc
- polished few tests
2019-07-17 14:48:05 +02:00
Oleg Zhurakousky
2c8f3644da Ignored remaining failing tests 2019-07-17 13:57:44 +02:00
Oleg Zhurakousky
93f7a248a5 Added initial support for lazy style FunctionCatalog/Registry which:
-  does not rely on any of the existing wrappers and instead relies on internal wrapper which performs  in-flight/just-in-time wrapping and unwrapping from reactive to imperative types
- performs transparent type conversion relying on MessageConverters and ConversionService
- supports multiple inputs/outputs
2019-07-17 13:54:02 +02:00
Oleg Zhurakousky
85af2e4ed6 Increased sleep time in randomly failing test 2019-07-17 11:05:05 +02:00
Dave Syer
521c6d3397 Add proxyTargetBeans = false 2019-07-12 17:11:26 +02:00
Oleg Zhurakousky
70d46f8b9f GH-386 Fixed NPE for non-existing functions invoked as REST endpoints
Resolves #386
2019-07-12 17:09:46 +02:00
Dave Syer
5e3111bf80 Fix conditions for custom AWS runtime
Conflicts:
	spring-cloud-function-samples/function-sample-aws-custom/pom.xml
2019-07-12 17:08:34 +02:00
Oleg Zhurakousky
cfd24a8316 Upgraded master to 3.0.0.BUILD-SNAPSHOT 2019-06-06 18:47:09 +02:00
Oleg Zhurakousky
2dad9b65c1 Bumped to spring-cloud-build 2.2
Fixed boot 2.2 related errors
set master version to 2.2.0
2019-05-28 13:22:02 +02:00
buildmaster
d28fc9978a Bumping versions to 2.1.1.BUILD-SNAPSHOT after release 2019-05-07 10:08:10 +00:00
buildmaster
e44c61754c Going back to snapshots 2019-05-07 10:08:09 +00:00
buildmaster
7fafbe7848 Update SNAPSHOT to 2.1.0.RELEASE 2019-05-07 09:12:21 +00:00
Oleg Zhurakousky
b7d2557656 fixing doc links
polishing test
2019-05-07 11:07:01 +02:00
Oleg Zhurakousky
4d9cdb9750 GH-238 Added initial support for RoutingFunction
- Added initial implementation of RoutingFunction which is bootstrapped optionally based on setting ‘spring.cloud.function.routing.enabled’ property to true.
- Added initial documentation and tests

Resolves #238
2019-05-07 10:13:42 +02:00
Oleg Zhurakousky
abeb652830 Fixed condition for spring.cloud.function.web.export.enabled property 2019-05-03 13:25:58 +02:00
Oleg Zhurakousky
d9582a9867 GH-358 Fixd NPE in flux FunctionWebUtils
added tests

Resolves #358
2019-04-29 16:07:56 +02:00
buildmaster
9df7455a30 Going back to snapshots 2019-04-08 14:18:29 +00:00
buildmaster
24740e4e17 Update SNAPSHOT to 2.1.0.RC1 2019-04-08 14:14:23 +00:00
Oleg Zhurakousky
085204bad2 Miscellaneous clean up, refactoring
Simplified FunctionCatalog structure by no longer registering the actual target function since it is available in wrapper anyway.
Cleaned up logic in RequestProcessor
2019-04-03 20:33:04 +02:00
Dave Syer
6eea43b266 Fix test for supplier exporter in functional application
You need to look beyond the application context (now) since it
might still be of type GenericApplicationContext even in a webflux
app.
2019-04-01 15:19:19 +01:00
Oleg Zhurakousky
1e2d0f2720 Merge pull request #305 from spring-operator/polish-urls-apache-license-master
URL Cleanup
2019-03-26 11:13:20 +01:00
Spring Operator
3b573c27ac URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://www.apache.org/licenses/ with 1 occurrences migrated to:
  https://www.apache.org/licenses/ ([https](https://www.apache.org/licenses/) result 200).
* [ ] http://www.apache.org/licenses/LICENSE-2.0 with 247 occurrences migrated to:
  https://www.apache.org/licenses/LICENSE-2.0 ([https](https://www.apache.org/licenses/LICENSE-2.0) result 200).
2019-03-21 12:48:58 -05:00
Spring Operator
bcd2f61689 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed But Review Recommended
These URLs were fixed, but the https status was not OK. However, the https status was the same as the http request or http redirected to an https URL, so they were migrated. Your review is recommended.

* [ ] http://compose.docker.io/ (UnknownHostException) with 1 occurrences migrated to:
  https://compose.docker.io/ ([https](https://compose.docker.io/) result UnknownHostException).
* [ ] http://nosuchhost (UnknownHostException) with 1 occurrences migrated to:
  https://nosuchhost ([https](https://nosuchhost) result UnknownHostException).
* [ ] http://projects.spring.io/spring-boot/function-sam (404) with 1 occurrences migrated to:
  https://projects.spring.io/spring-boot/function-sam ([https](https://projects.spring.io/spring-boot/function-sam) result 404).
* [ ] http://www.puppycrawl.com/dtds/suppressions_1_1.dtd (404) with 1 occurrences migrated to:
  https://www.puppycrawl.com/dtds/suppressions_1_1.dtd ([https](https://www.puppycrawl.com/dtds/suppressions_1_1.dtd) result 404).

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* [ ] http://EditorConfig.org with 1 occurrences migrated to:
  https://EditorConfig.org ([https](https://EditorConfig.org) result 200).
* [ ] http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html with 1 occurrences migrated to:
  https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html ([https](https://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) result 200).
* [ ] http://www.reactive-streams.org/ with 2 occurrences migrated to:
  https://www.reactive-streams.org/ ([https](https://www.reactive-streams.org/) result 200).
* [ ] http://plugins.jetbrains.com/plugin/6546 with 1 occurrences migrated to:
  https://plugins.jetbrains.com/plugin/6546 ([https](https://plugins.jetbrains.com/plugin/6546) result 301).
* [ ] http://eclipse.org with 1 occurrences migrated to:
  https://eclipse.org ([https](https://eclipse.org) result 302).
* [ ] http://eclipse.org/m2e/ with 2 occurrences migrated to:
  https://eclipse.org/m2e/ ([https](https://eclipse.org/m2e/) result 302).
* [ ] http://www.springsource.com/developer/sts with 1 occurrences migrated to:
  https://www.springsource.com/developer/sts ([https](https://www.springsource.com/developer/sts) result 302).

# Ignored
These URLs were intentionally ignored.

* http://localhost with 23 occurrences
2019-03-20 15:45:22 -05:00
buildmaster
0fe8693565 Going back to snapshots 2019-03-20 08:49:57 +00:00
buildmaster
60f11baf57 Update SNAPSHOT to 2.1.0.M1 2019-03-20 08:45:24 +00:00
Oleg Zhurakousky
7042394bd2 GH-274 Fixed empty body request handling
Resolves #274
2019-03-20 08:45:26 +01:00
Spring Operator
5bf9bebbb2 URL Cleanup
This commit updates URLs to prefer the https protocol. Redirects are not followed to avoid accidentally expanding intentionally shortened URLs (i.e. if using a URL shortener).

# Fixed URLs

## Fixed Success
These URLs were switched to an https URL with a 2xx status. While the status was successful, your review is still recommended.

* http://cloud.spring.io/ with 1 occurrences migrated to:
  https://cloud.spring.io/ ([https](https://cloud.spring.io/) result 200).
* http://maven.apache.org/xsd/assembly-1.1.2.xsd with 1 occurrences migrated to:
  https://maven.apache.org/xsd/assembly-1.1.2.xsd ([https](https://maven.apache.org/xsd/assembly-1.1.2.xsd) result 200).
* http://maven.apache.org/xsd/maven-4.0.0.xsd with 28 occurrences migrated to:
  https://maven.apache.org/xsd/maven-4.0.0.xsd ([https](https://maven.apache.org/xsd/maven-4.0.0.xsd) result 200).

# Ignored
These URLs were intentionally ignored.

* http://maven.apache.org/POM/4.0.0 with 56 occurrences
* http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 with 2 occurrences
* http://www.w3.org/2001/XMLSchema-instance with 29 occurrences
2019-03-19 21:21:48 -05:00
Oleg Zhurakousky
ee13ef4e09 Fixed docs home page
fixed some formatting issues
2019-03-19 08:44:01 +01:00
Oleg Zhurakousky
87a878879c GH-293 Enhanced endpoint mapping support for functional form context configuration
- Enhanced HTTP endpoint mapping support for 'functional form' context configuration ensuring it can register multiple endpoint to maintain the same behaviour as with regular application context
- Additional consolidation around Function Catalog
- Added identical test for functional and non-functional form endpoint configuration.

Resolves #293
2019-03-19 08:17:13 +01:00
Dave Syer
138e1cf3c2 Deeper support for custom AWS Lambda runtime
Adds an EnvironmentPostProcessor so the user ony has to set one
property (spring.cloud.function.web.export.enabled=true).
2019-02-28 10:05:13 -05:00
Oleg Zhurakousky
5f86e3ea1a Additional changes and fixes related to the previous GH-268 commit
- Fixed issue which was causing one of the new tests to fail *only* when running as ‘mvn install’
- Modified HttpSupplier to return a delayed Mono for non2xx responses. Add javadoc
- Added conditional retry ability to the SupplierExporter to handle both ConnectionException for cases when connection may not be available or disappears during subscription.
- Polished error handling and lifecycle logic in SupplierExporter
- Added test demonstrating both retries as well as lifecycle control

Resolves #268
2019-02-28 09:55:51 +01:00
Dave Syer
428243ce48 Add new feature to initialize a Supplier from a remote HTTP endpoint
Kind of like the SupplierExporter but to create the Supplier itself.
With this in place you can define the templateUrl (destination) and
the originaUrl (source) and use the app as a pipeline for events
from/to HTTP.

Provide functional bean support for HTTP export

Add autoconfig to AWS adapter for custom runtime

Fix HttpSupplier to always supply Message if headers are included

Fix registration of origin supplier in functional beans

Add docs on new AWS features

Add custom runtime sample
2019-02-28 09:55:51 +01:00
Dave Syer
6865d53c91 Update to 2.1.0 snapshots in all the other places 2019-02-20 13:19:03 +00:00
Dave Syer
16fb340de5 Alternative strategy for failing HTTP request in test 2019-02-19 10:43:13 +00:00
Oleg Zhurakousky
805b85b102 GH-243, GH-257 Added reactive consumer wrapper
- Added wrapper for an already reactive consumer to ensure that consumers can be consistently represented as Function<Flux, Mono>
- Fixed the big that deal with inconsistent result in web environments due to inconsistent representation of the Consumers
- Polished tests

Resolves #243
Resolves #257
2019-02-11 15:30:08 +01:00
Marcin Grzejszczak
c6ddfe1af4 Added checkstyle for tests 2019-02-03 15:34:10 +01:00
Marcin Grzejszczak
e4b08a083c Turned on checkstyle 2019-02-01 15:48:32 +01:00
buildmaster
94e9b8f2f8 Bumping versions to 2.0.2.BUILD-SNAPSHOT after release 2019-01-31 14:48:58 +00:00
buildmaster
036e0c4090 Going back to snapshots 2019-01-31 14:48:57 +00:00
buildmaster
eaf519b82a Update SNAPSHOT to 2.0.1.RELEASE 2019-01-31 14:34:17 +00:00
Oleg Zhurakousky
589e451d14 GH-247 Added spring.cloud.function.definition property
Added spring.cloud.function.definition property which is used by FunctionRegistry as a supplement instruction to resolve nameless lookups.
It is used by web module to map single or multiple (composed) functions to the root path (/)

Resolves #247
2019-01-28 18:47:18 +01:00
Oleg Zhurakousky
3196a2ee8b Fixed exception handling in RequestProcessor
Fixed exception handling in the RequestProcessor for cases where input can not be determined before function invocation
2019-01-28 16:24:45 +01:00
Oleg Zhurakousky
9729f26397 Fixed failing webflux test 2019-01-09 17:15:53 +01:00
buildmaster
9cf4b72ef3 Bumping versions to 2.0.1.BUILD-SNAPSHOT after release 2019-01-08 11:32:36 +00:00