Class RestServiceInvoker
- java.lang.Object
-
- com.flowable.serviceregistry.engine.impl.invoker.rest.RestServiceInvoker
-
- All Implemented Interfaces:
ServiceInvoker
public class RestServiceInvoker extends Object implements ServiceInvoker
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classRestServiceInvoker.TimeoutTask
-
Field Summary
Fields Modifier and Type Field Description static StringKEYprotected com.fasterxml.jackson.databind.ObjectMapperobjectMapperprotected ServiceRegistryEngineConfigurationserviceRegistryEngineConfigurationprotected Timertimer
-
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 org.apache.http.impl.client.HttpClientBuildercreateHttpClientBuilder(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context)protected Stringdecode(String string)protected StringencodeBasicAuth(String username, String password, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)protected URIensureUrlIsEncodedAndConvertToUri(URL url)HttpResponseexecute(HttpRequest request, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context)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 StringgetHeadersAsString(org.apache.http.Header[] headers)protected MultiValueMap<String,String>getHeadersFromGlobalProperties(String globalPropKey)protected StringgetUrl(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)RestServiceInvocationResponseinvoke(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context)List<ServiceInvocationResponse>invokeList(ServiceDefinitionModel serviceDefinition, ServiceOperation serviceOperation, ServiceInvocationContext serviceInvocationContext)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(org.apache.http.impl.client.CloseableHttpClient client, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context, HttpRequest httpRequest)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 voidsetConfig(org.apache.http.client.methods.HttpRequestBase base, HttpRequest requestInfo, int socketTimeout, int connectTimeout, int connectionRequestTimeout)protected voidsetHeaders(org.apache.http.HttpMessage base, String headers)protected voidsetRequestEntity(HttpRequest requestInfo, org.apache.http.client.methods.HttpEntityEnclosingRequestBase requestBase)protected StringtoHeadersString(MultiValueMap<String,String> headers)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
-
timer
protected final Timer timer
-
-
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
-
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)
-
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)
-
toHeadersString
protected String toHeadersString(MultiValueMap<String,String> headers)
-
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)
-
createHttpClientBuilder
protected org.apache.http.impl.client.HttpClientBuilder createHttpClientBuilder(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context)
-
validate
protected void validate(HttpRequest request)
-
perform
public HttpResponse perform(org.apache.http.impl.client.CloseableHttpClient client, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context, HttpRequest httpRequest)
-
setRequestEntity
protected void setRequestEntity(HttpRequest requestInfo, org.apache.http.client.methods.HttpEntityEnclosingRequestBase requestBase) throws UnsupportedEncodingException
- Throws:
UnsupportedEncodingException
-
setConfig
protected void setConfig(org.apache.http.client.methods.HttpRequestBase base, HttpRequest requestInfo, int socketTimeout, int connectTimeout, int connectionRequestTimeout)
-
getHeadersAsString
protected String getHeadersAsString(org.apache.http.Header[] headers)
-
setHeaders
protected void setHeaders(org.apache.http.HttpMessage base, String headers) throws IOException- Throws:
IOException
-
ensureUrlIsEncodedAndConvertToUri
protected URI ensureUrlIsEncodedAndConvertToUri(URL url) throws URISyntaxException
- Throws:
URISyntaxException
-
isJsonContentType
protected boolean isJsonContentType(HttpResponse httpResponse)
-
encodeBasicAuth
protected String encodeBasicAuth(String username, String password, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
-
-