|
2 | 2 |
|
3 | 3 | import static io.vertx.core.file.impl.FileResolverImpl.CACHE_DIR_BASE_PROP_NAME;
|
4 | 4 |
|
5 |
| -import org.jboss.logging.Logger; |
| 5 | +import org.jboss.jandex.DotName; |
6 | 6 |
|
7 | 7 | import io.quarkus.amazon.lambda.deployment.LambdaUtil;
|
8 | 8 | import io.quarkus.amazon.lambda.deployment.ProvidedAmazonLambdaHandlerBuildItem;
|
|
23 | 23 | import io.quarkus.amazon.lambda.http.model.Headers;
|
24 | 24 | import io.quarkus.amazon.lambda.http.model.MultiValuedTreeMap;
|
25 | 25 | import io.quarkus.arc.deployment.AdditionalBeanBuildItem;
|
| 26 | +import io.quarkus.arc.deployment.UnremovableBeanBuildItem; |
26 | 27 | import io.quarkus.deployment.annotations.BuildProducer;
|
27 | 28 | import io.quarkus.deployment.annotations.BuildStep;
|
28 | 29 | import io.quarkus.deployment.annotations.ExecutionTime;
|
|
31 | 32 | import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem;
|
32 | 33 | import io.quarkus.deployment.pkg.builditem.ArtifactResultBuildItem;
|
33 | 34 | import io.quarkus.deployment.pkg.builditem.OutputTargetBuildItem;
|
| 35 | +import io.quarkus.resteasy.reactive.server.spi.ContextTypeBuildItem; |
34 | 36 | import io.quarkus.vertx.http.deployment.RequireVirtualHttpBuildItem;
|
35 | 37 |
|
36 | 38 | public class AmazonLambdaHttpProcessor {
|
37 |
| - private static final Logger log = Logger.getLogger(AmazonLambdaHttpProcessor.class); |
| 39 | + private static final DotName AWS_PROXY_REQUEST_CONTEXT = DotName.createSimple(AwsProxyRequestContext.class); |
38 | 40 |
|
39 | 41 | @BuildStep
|
40 | 42 | public void setupCDI(BuildProducer<AdditionalBeanBuildItem> additionalBeans) {
|
41 | 43 | AdditionalBeanBuildItem.Builder builder = AdditionalBeanBuildItem.builder();
|
42 |
| - builder.addBeanClasses(AwsHttpContextProducers.class); |
| 44 | + builder.addBeanClasses(AwsHttpContextProducers.class).setUnremovable(); |
43 | 45 | additionalBeans.produce(builder.build());
|
44 | 46 | }
|
45 | 47 |
|
@@ -112,4 +114,11 @@ public void generateScripts(OutputTargetBuildItem target,
|
112 | 114 | .replace("${lambdaName}", lambdaName);
|
113 | 115 | LambdaUtil.writeFile(target, "sam.native.yaml", output);
|
114 | 116 | }
|
| 117 | + |
| 118 | + @BuildStep |
| 119 | + public void resteasyReactiveIntegration(BuildProducer<ContextTypeBuildItem> contextTypeProducer, |
| 120 | + BuildProducer<UnremovableBeanBuildItem> unremovableBeanProducer) { |
| 121 | + contextTypeProducer.produce(new ContextTypeBuildItem(AWS_PROXY_REQUEST_CONTEXT)); |
| 122 | + unremovableBeanProducer.produce(UnremovableBeanBuildItem.beanTypes(AWS_PROXY_REQUEST_CONTEXT)); |
| 123 | + } |
115 | 124 | }
|
0 commit comments