Commit Graph

69 Commits

Author SHA1 Message Date
Oleg Zhurakousky
22bc928349 GH-1033 Fix AWSTypesMessageConverter to ensure it takes the first path at converting AWS types
Resolves #1033
2023-05-24 16:35:38 +02:00
Urs Keller
60c771868f Breaking test case 2023-05-24 09:38:56 +02:00
Oleg Zhurakousky
4ba5ea3452 GH-1018 Ensure AWS adapter can pass raw InputStream
Resolves #1018
2023-03-30 14:53:29 +02:00
Oleg Zhurakousky
6b1298eaf1 GH-997 Adding test to validate AWS Context set as header
Resolves #997
2023-03-01 12:36:27 +01:00
Oleg Zhurakousky
5b3c89099c GH-1006 Remove dependency on Joda module
Developers would have to add it themselves with custom instance of ObjectMapper

Resolves #1006
2023-03-01 11:30:55 +01:00
Oleg Zhurakousky
30c0ccd841 GH-973 Ensure that AWS isBase64Encoded is set dynamically
Resolves #973
2023-01-23 14:55:46 +01:00
Oleg Zhurakousky
b3fd3c8bb0 GH-980 Ensure reactive types are supported by AWS adapter
Resolves #980
2023-01-23 13:00:37 +01:00
Oleg Zhurakousky
6b9b9995ab Revert "GH-986 Fix regression to NOT attempt output conversion of Message<byte[]>"
This reverts commit b1237c2ab2.
2023-01-19 17:19:03 +01:00
Oleg Zhurakousky
b1237c2ab2 GH-986 Fix regression to NOT attempt output conversion of Message<byte[]>
Resolves #986
2023-01-17 14:15:10 +01:00
Oleg Zhurakousky
3c0a7fbc19 GH-943 Enhance AWS FunctionInvoker
This adds another constructor which allows function.definition to be passed as a constructor argument rather then rely on the property

Resolves #943
2022-11-02 09:35:38 +01:00
Oleg Zhurakousky
d613d9a4c1 GH-929 Ensure AWS Functioininvoker handles Mono<Void> return the same way as imperative Consumer
Resolves #929
2022-10-19 10:51:55 +02:00
Oleg Zhurakousky
4bd22b394e Set more 'proxyBeanMethods' to false 2022-10-05 13:39:28 +02:00
Oleg Zhurakousky
fc50ebc870 GH-913 Fix AWS Context propagation
Resolves #913
2022-08-08 15:26:10 +02:00
Maciej Walkowiak
f51279be48 Fix typo.
Fix typo.
2022-07-26 11:50:52 +02:00
Oleg Zhurakousky
4ace646482 Relax logging in SimpleFunctionRegistry 2022-07-25 15:46:59 +02:00
Oleg Zhurakousky
003e1d5ade GH-833 Add initial support for AWS APIGatewayCustomAuthorizerEvent
Resolves #833
2022-03-23 12:54:15 +01:00
Oleg Zhurakousky
c6bc4f553f GH-785 Ad initial support for ApplicationLoadBalancerRequestEvent in AWS
Resolves #785
2022-01-25 18:47:17 +01:00
Oleg Zhurakousky
7a1f2ecc04 GH-787 Fix 'body' format in JSON output for AWS responses
Resolves #787
2022-01-25 13:57:20 +01:00
Oleg Zhurakousky
b4293878b4 GH-789 Propagate AWS FunctionInvoker exceptions
They will be handled by the AWS runtime and properly reported and recorded.
Resolves #789
2022-01-12 10:45:13 +01:00
Oleg Zhurakousky
3aa37ba197 Change format of user agent to be aligned with the original PR from @msailes 2021-11-12 15:24:06 +01:00
Oleg Zhurakousky
703f82a132 Modified version determination for user-agent, added test 2021-11-12 13:05:52 +01:00
Oleg Zhurakousky
afb06fcc2b Remove deprecated AWS classes 2021-11-08 18:27:25 +01:00
Oleg Zhurakousky
f61739fa08 GH-751 Ensure RoutingFunction can be applied when function input type is AWS type 2021-11-02 12:15:08 +01:00
Oleg Zhurakousky
12cf0d5763 Restructure and simplify AWS Custom Runtime code
Add Custom Runtime emulator to simplify integration testing
2021-10-20 17:52:52 +02:00
Oleg Zhurakousky
495b42bbe7 Refactor CustomRuntimeEventLoop in AWS module to ensure it is spring aot native compatible 2021-09-21 16:08:09 +02:00
Oleg Zhurakousky
d9db0af13d GH-716 Add support for returning custom status code
Resolves #716
2021-07-30 12:42:48 +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
039387d9c6 GH-698 Fix routing function support in AWS
Introduce auto-fallback to routing function if more then one function is present and no definition is provided.
Add explicit routing sample

Add documentation
2021-05-21 17:04:01 +02:00
Oleg Zhurakousky
704df35bb8 Add tests for AWS CustomRuntimeEventLoop 2021-05-17 20:03:11 +02:00
Oleg Zhurakousky
b2f36936ac GH-662 Fix support for reactive functions in AWS
This commit also includes other minor fixes around CustomRuntime which was getting in the way of this specific issue
 Added lookup for _HANDLER env variable
 Added few tests (will need more)
 Added support for Iterable for reactive functions

Resolves #662
2021-04-08 15:57:14 +02:00
Oleg Zhurakousky
f3573f359d GH-639 Fix NPE for when using Supplier with AWS API Gateway
Resolves #639
2021-02-08 10:36:00 +01:00
Oleg Zhurakousky
1a0182a068 GH-552 Fix Consumer support in FunctionInvoker
Further refactor FunctionInvoker to utilize functionality of AWSLambdaUtils
Add Consumer test

Resolves #552
2021-01-26 10:41:25 +01:00
Oleg Zhurakousky
95d8b54c80 GH-574 Fix String wrapping for input/output for AWS APIGateway
As suggested by the user we were improperly wrapping the String payload for input/output during APIGateway interaction

Resolves #574
2020-08-06 16:01:12 +02:00
Oleg Zhurakousky
6b9ce4cb0c GH-562 Add type conversion documentation
Add test in AWS to showcase type conversion
Fix AWS FunctionInvoker to delegate to effectively delegate type conversion to the native mechanism of spring-cloud-function

Resolves #562
2020-07-29 20:17:03 +02:00
Oleg Zhurakousky
4ce94f7d54 GH-563 Add support for SNSEvent (AWS)
Resolves #563
2020-07-24 15:53:03 +02:00
Oleg Zhurakousky
610e2a53fe GH-560 Add explicit support for S3 AWS Event
Resolves #560
2020-07-16 09:41:23 +02:00
Oleg Zhurakousky
d6272d38df GH-551 Fix support for AWS SQSEvent
Resolves #551
2020-06-22 08:21:04 +02:00
anshlykov
8bcfad48fa Migrate to JUnit 5
spring-cloud-function-context

spring-cloud-function-context: fix

spring-cloud-function-web

spring-cloud-function-adapters

spring-cloud-function-samples

spring-cloud-function-deployer; spring-cloud-function-kotlin

Resolves #535
2020-06-10 16:43:04 +02:00
Oleg Zhurakousky
469c86e7b6 Polishing 7c8ba881c9 2020-05-27 14:51:51 +02:00
Oleg Zhurakousky
7c8ba881c9 Fix AWS FunctionInvoker to ensure it properly interprets translation of incoming APIGateway request to user FunctionInvoker
This assumes that
- 'body' will be extracted for cases such as POJO or String input
- Map input will simply represent the incoming request
- APIGatewayProxyRequestEvent input represents native representation of API Gateway request

Similar fixes went for Kinesis side of things
Added additional tests for both Kinesis and ApiGateway
2020-05-27 13:51:30 +02:00
Oleg Zhurakousky
85000ee084 GH-460 Add support for function filtering
Added support for function filtering in the event there are more then one function in catalog. This is primarily to ensure that
we have a mechanism to specify which functions to export as web enpoints (instead of all)

Resolves #460
2020-03-23 11:19:40 +01:00
Oleg Zhurakousky
b71c793dab GH-458 Remove default dependency on ApplicationJsonMessageMarshallingConverter
Resolves #458
2020-03-10 16:13:28 +01:00
Oleg Zhurakousky
01360df41e GH-438 Added initial support for ALB request/response
Added initila support for Application Load Balancer request and response events. This support for now is only protocol based (see https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html#respond-to-load-balancer)
Added initial tests

Resolves #438
2019-12-26 11:25:13 +01:00
Oleg Zhurakousky
52b0fdea50 GH-434 Added generic FunctionInvoker for AWS
- Added generic FunctionInvoker capable of handling the request generically without requiring user to implemen specific AWS request handler

Resolves #434
2019-12-16 14:27:41 +01: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
Kane Zhu
1de8526b7a Fix the issue that api gateway handler of AWS does not honor the encrypted body data.
Resolves #382
2019-07-12 17:07:02 +02:00
Oleg Zhurakousky
cf5cd49b72 fixed checkstyle 2019-07-12 17:04:45 +02:00
Markus Gulden
01e813ec52 GH-249, Add full HTTP support to SpringBootApiGatewayRequestHandler
* Add support for handling APIGatewayProxyRequestEvent objects with
empty body (should apply to all GET and DELETE requests, which
comply with recommandation of RFC-7231)

* Add support ReSTful APIs: path and query string parameters as well
as the HTTP method are now extracted from the
APIGatewayProxyRequestEvent object and forwarded to the function
as message headers

* Extend unit tests accordingly
2019-07-12 16:59:21 +02:00
Oleg Zhurakousky
2afb53f967 Added cleanup code to the failing AWS test 2019-06-07 14:41:45 +02:00
Oleg Zhurakousky
f2e4cea47d GH-263 Added more AWS tests
Resolves #263
2019-05-03 09:27:04 +02:00