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 class
RestServiceInvoker.TimeoutTask
-
Field Summary
Fields Modifier and Type Field Description static String
KEY
protected com.fasterxml.jackson.databind.ObjectMapper
objectMapper
protected ServiceRegistryEngineConfiguration
serviceRegistryEngineConfiguration
protected Timer
timer
-
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 void
addHeader(MultiValueMap<String,String> headers, String header)
protected com.fasterxml.jackson.databind.JsonNode
applyOutputPathIfApplicable(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, com.fasterxml.jackson.databind.JsonNode resultJsonNode)
protected boolean
asBoolean(Object object)
protected int
asInt(Object object)
protected void
configureRequest(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, HttpRequest request, ServiceInvocationVariablesContainer variablesContainer)
protected RestServiceInvocationResponse
createCopy(RestServiceInvocationResponse response, com.fasterxml.jackson.databind.node.ObjectNode responseData)
protected org.apache.http.impl.client.HttpClientBuilder
createHttpClientBuilder(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context)
protected String
decode(String string)
protected String
encodeBasicAuth(String username, String password, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
protected URI
ensureUrlIsEncodedAndConvertToUri(URL url)
HttpResponse
execute(HttpRequest request, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context)
protected RestServiceAuthorization
getAuthorization(com.fasterxml.jackson.databind.JsonNode config)
protected RestServiceAuthorization
getAuthorization(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
protected String
getBody(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ExpressionManager expressionManager, ServiceInvocationVariablesContainer serviceInvocationVariablesContainer)
protected MultiValueMap<String,String>
getHeaders(com.fasterxml.jackson.databind.JsonNode config, String serviceDefinitionKey, String serviceOperationKey)
protected String
getHeadersAsString(org.apache.http.Header[] headers)
protected MultiValueMap<String,String>
getHeadersFromGlobalProperties(String globalPropKey)
protected String
getUrl(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
RestServiceInvocationResponse
invoke(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context)
List<ServiceInvocationResponse>
invokeList(ServiceDefinitionModel serviceDefinition, ServiceOperation serviceOperation, ServiceInvocationContext serviceInvocationContext)
protected boolean
isJsonContentType(HttpResponse httpResponse)
protected boolean
lookupBooleanProperty(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, String field, boolean defaultValue)
protected MultiValueMap<String,String>
lookupHeaders(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation)
protected int
lookupIntegerProperty(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, String field, int defaultValue)
protected String
lookupStringProperty(ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, String field, String defaultValue)
HttpResponse
perform(org.apache.http.impl.client.CloseableHttpClient client, ServiceDefinitionModel serviceDefinitionModel, ServiceOperation serviceOperation, ServiceInvocationContext context, HttpRequest httpRequest)
protected void
processInputParameter(ServiceInvocationVariablesContainer serviceInvocationVariablesContainer, ExpressionManager expressionManager, com.fasterxml.jackson.databind.node.ObjectNode bodyJson, ServiceInputParameter inputParameter)
protected String
resolveExpressionAsString(String value, ExpressionManager expressionManager, ServiceInvocationVariablesContainer variablesContainer)
protected MultiValueMap<String,String>
resolveHeaderExpressions(MultiValueMap<String,String> headers, ExpressionManager expressionManager, ServiceInvocationVariablesContainer variablesContainer)
protected void
setConfig(org.apache.http.client.methods.HttpRequestBase base, HttpRequest requestInfo, int socketTimeout, int connectTimeout, int connectionRequestTimeout)
protected void
setHeaders(org.apache.http.HttpMessage base, String headers)
protected void
setRequestEntity(HttpRequest requestInfo, org.apache.http.client.methods.HttpEntityEnclosingRequestBase requestBase)
protected String
toHeadersString(MultiValueMap<String,String> headers)
protected void
validate(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:
invoke
in interfaceServiceInvoker
-
invokeList
public List<ServiceInvocationResponse> invokeList(ServiceDefinitionModel serviceDefinition, ServiceOperation serviceOperation, ServiceInvocationContext serviceInvocationContext)
- Specified by:
invokeList
in 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)
-
-