This approach simplifies the existing request handlers while also fixing the invocation model to ensure AC is not created multiple times and ExecutionContext is properly propagated via Message headers The old request handlers are deprecated Documentation updates as well as tests Resolves #437
43 lines
1.5 KiB
Java
43 lines
1.5 KiB
Java
/*
|
|
* Copyright 2012-2020 the original author or authors.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* https://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
package example;
|
|
|
|
import com.microsoft.azure.functions.ExecutionContext;
|
|
import com.microsoft.azure.functions.HttpMethod;
|
|
import com.microsoft.azure.functions.HttpRequestMessage;
|
|
import com.microsoft.azure.functions.annotation.AuthorizationLevel;
|
|
import com.microsoft.azure.functions.annotation.FunctionName;
|
|
import com.microsoft.azure.functions.annotation.HttpTrigger;
|
|
|
|
import java.util.Optional;
|
|
|
|
import org.springframework.cloud.function.adapter.azure.FunctionInvoker;
|
|
|
|
/**
|
|
* @author Soby Chacko
|
|
*/
|
|
public class UppercaseHandler extends FunctionInvoker<String, String> {
|
|
|
|
@FunctionName("uppercase")
|
|
public String execute(@HttpTrigger(name = "req", methods = {HttpMethod.GET,
|
|
HttpMethod.POST}, authLevel = AuthorizationLevel.ANONYMOUS) HttpRequestMessage<Optional<String>> request,
|
|
ExecutionContext context) {
|
|
return handleRequest(request.getBody().get(), context);
|
|
}
|
|
|
|
}
|