Class RestServiceInvoker
- java.lang.Object
-
- com.flowable.serviceregistry.engine.impl.invoker.rest.RestServiceInvoker
-
- All Implemented Interfaces:
ServiceInvoker
public class RestServiceInvoker extends Object implements ServiceInvoker
-
-
Field Summary
Fields Modifier and Type Field Description static StringKEYprotected com.fasterxml.jackson.databind.ObjectMapperobjectMapperprotected ServiceRegistryEngineConfigurationserviceRegistryEngineConfiguration
-
Constructor Summary
Constructors Constructor Description RestServiceInvoker(ServiceRegistryEngineConfiguration serviceRegistryEngineConfiguration, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddHeader(MultiValueMap<String,String> headers, String header)protected com.fasterxml.jackson.databind.JsonNodeapplyOutputPathIfApplicable(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, com.fasterxml.jackson.databind.JsonNode resultJsonNode)protected booleanasBoolean(Object object)protected intasInt(Object object)protected voidconfigureRequest(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, HttpRequest request, ServiceInvocationVariablesContainer variablesContainer)protected RestServiceInvocationResponsecreateCopy(RestServiceInvocationResponse response, com.fasterxml.jackson.databind.node.ObjectNode responseData)protected FlowableHttpClientcreateFlowableHttpClient(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationVariablesContainer variablesContainer, ServiceRegistryEngineConfiguration engineConfiguration)protected <T extends HttpResponseHandler & HttpRequestHandler>
TcreateHttpRequestOrResponseHandler(com.fasterxml.jackson.databind.JsonNode handlerNode, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)protected HttpRequestHandlercreateRequestHandler(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)protected HttpResponseHandlercreateResponseHandler(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)protected StringencodeBasicAuth(String username, String password, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)HttpResponseexecute(HttpRequest request, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context, ServiceInvocationVariablesContainer serviceDataVariablesContainer)protected RestServiceAuthorizationgetAuthorization(com.fasterxml.jackson.databind.JsonNode config)protected RestServiceAuthorizationgetAuthorization(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)protected StringgetBody(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ExpressionManager expressionManager, ServiceInvocationVariablesContainer serviceInvocationVariablesContainer)protected MultiValueMap<String,String>getHeaders(com.fasterxml.jackson.databind.JsonNode config, String serviceDefinitionKey, String serviceOperationKey)protected MultiValueMap<String,String>getHeadersFromGlobalProperties(String globalPropKey)protected StringgetUrl(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)protected StringhandleInputQueryParameters(String url, VariableContainer variableContainer, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)RestServiceInvocationResponseinvoke(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context)List<ServiceInvocationResponse>invokeList(ServiceDefinitionModel serviceDefinition, ServiceOperation serviceOperation, ServiceInvocationContext serviceInvocationContext)protected booleanisJsonContentType(String value)protected booleanisJsonContentType(HttpResponse httpResponse)protected booleanlookupBooleanProperty(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, String field, boolean defaultValue)protected MultiValueMap<String,String>lookupHeaders(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)protected intlookupIntegerProperty(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, String field, int defaultValue)protected StringlookupStringProperty(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, String field, String defaultValue)HttpResponseperform(FlowableHttpClient client, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context, HttpRequest httpRequest, ServiceInvocationVariablesContainer variablesContainer)protected voidprocessInputParameter(ServiceInvocationVariablesContainer serviceInvocationVariablesContainer, ExpressionManager expressionManager, com.fasterxml.jackson.databind.node.ObjectNode bodyJson, ServiceInputParameter inputParameter)protected StringresolveExpressionAsString(String value, ExpressionManager expressionManager, ServiceInvocationVariablesContainer variablesContainer)protected MultiValueMap<String,String>resolveHeaderExpressions(MultiValueMap<String,String> headers, ExpressionManager expressionManager, ServiceInvocationVariablesContainer variablesContainer)protected voidvalidate(HttpRequest request)
-
-
-
Field Detail
-
KEY
public static final String KEY
- See Also:
- Constant Field Values
-
serviceRegistryEngineConfiguration
protected ServiceRegistryEngineConfiguration serviceRegistryEngineConfiguration
-
objectMapper
protected com.fasterxml.jackson.databind.ObjectMapper objectMapper
-
-
Constructor Detail
-
RestServiceInvoker
public RestServiceInvoker(ServiceRegistryEngineConfiguration serviceRegistryEngineConfiguration, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
-
-
Method Detail
-
invoke
public RestServiceInvocationResponse invoke(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context)
- Specified by:
invokein interfaceServiceInvoker
-
createRequestHandler
protected HttpRequestHandler createRequestHandler(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
-
createResponseHandler
protected HttpResponseHandler createResponseHandler(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
-
createHttpRequestOrResponseHandler
protected <T extends HttpResponseHandler & HttpRequestHandler> T createHttpRequestOrResponseHandler(com.fasterxml.jackson.databind.JsonNode handlerNode, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
-
invokeList
public List<ServiceInvocationResponse> invokeList(ServiceDefinitionModel serviceDefinition, ServiceOperation serviceOperation, ServiceInvocationContext serviceInvocationContext)
- Specified by:
invokeListin interfaceServiceInvoker
-
createCopy
protected RestServiceInvocationResponse createCopy(RestServiceInvocationResponse response, com.fasterxml.jackson.databind.node.ObjectNode responseData)
-
configureRequest
protected void configureRequest(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, HttpRequest request, ServiceInvocationVariablesContainer variablesContainer)
-
getUrl
protected String getUrl(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
-
handleInputQueryParameters
protected String handleInputQueryParameters(String url, VariableContainer variableContainer, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
-
getBody
protected String getBody(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ExpressionManager expressionManager, ServiceInvocationVariablesContainer serviceInvocationVariablesContainer)
-
processInputParameter
protected void processInputParameter(ServiceInvocationVariablesContainer serviceInvocationVariablesContainer, ExpressionManager expressionManager, com.fasterxml.jackson.databind.node.ObjectNode bodyJson, ServiceInputParameter inputParameter)
-
lookupStringProperty
protected String lookupStringProperty(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, String field, String defaultValue)
-
getAuthorization
protected RestServiceAuthorization getAuthorization(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
-
getAuthorization
protected RestServiceAuthorization getAuthorization(com.fasterxml.jackson.databind.JsonNode config)
-
lookupHeaders
protected MultiValueMap<String,String> lookupHeaders(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
-
getHeadersFromGlobalProperties
protected MultiValueMap<String,String> getHeadersFromGlobalProperties(String globalPropKey)
-
getHeaders
protected MultiValueMap<String,String> getHeaders(com.fasterxml.jackson.databind.JsonNode config, String serviceDefinitionKey, String serviceOperationKey)
-
addHeader
protected void addHeader(MultiValueMap<String,String> headers, String header)
-
resolveHeaderExpressions
protected MultiValueMap<String,String> resolveHeaderExpressions(MultiValueMap<String,String> headers, ExpressionManager expressionManager, ServiceInvocationVariablesContainer variablesContainer)
-
resolveExpressionAsString
protected String resolveExpressionAsString(String value, ExpressionManager expressionManager, ServiceInvocationVariablesContainer variablesContainer)
-
lookupIntegerProperty
protected int lookupIntegerProperty(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, String field, int defaultValue)
-
asInt
protected int asInt(Object object)
-
lookupBooleanProperty
protected boolean lookupBooleanProperty(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, String field, boolean defaultValue)
-
asBoolean
protected boolean asBoolean(Object object)
-
applyOutputPathIfApplicable
protected com.fasterxml.jackson.databind.JsonNode applyOutputPathIfApplicable(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, com.fasterxml.jackson.databind.JsonNode resultJsonNode)
-
execute
public HttpResponse execute(HttpRequest request, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context, ServiceInvocationVariablesContainer serviceDataVariablesContainer)
-
createFlowableHttpClient
protected FlowableHttpClient createFlowableHttpClient(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationVariablesContainer variablesContainer, ServiceRegistryEngineConfiguration engineConfiguration)
-
validate
protected void validate(HttpRequest request)
-
perform
public HttpResponse perform(FlowableHttpClient client, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context, HttpRequest httpRequest, ServiceInvocationVariablesContainer variablesContainer)
-
isJsonContentType
protected boolean isJsonContentType(HttpResponse httpResponse)
-
isJsonContentType
protected boolean isJsonContentType(String value)
-
encodeBasicAuth
protected String encodeBasicAuth(String username, String password, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
-
-