getindata / flink-http-connector

Http Connector for Apache Flink. Provides sources and sinks for Datastream , Table and SQL APIs.
Apache License 2.0
150 stars 43 forks source link

ESP-263 - Adding suport for POST REST method to http Lookup Source #29

Closed kristoffSC closed 2 years ago

kristoffSC commented 2 years ago

Description

Adding support for using POST REST request method to http Lookup Source. In fact any method HTTP method can be used. Request method can be set by using DDL option lookup-method with value "GET", "POST" etc. If option is not defined, then GET method will be used.

For request body methods like POST/PUT lookup parameters will be converted to json and used as request body. For default configuration the new LookupQueryCreator interface implementation - GenericJsonQueryCreator will be used to convert Join arruments to json, for example

{
        "id": "1",
        "uuid": "2"
}

User can define custom LookupQueryCreator and use it for its table definition via gid.connector.http.source.lookup.query-creator property

PR Checklist
github-actions[bot] commented 2 years ago
File Coverage [91.5%] :green_apple:
RequestFactoryBase.java 100% :green_apple:
HttpLookupTableSourceFactory.java 100% :green_apple:
JavaNetHttpPollingClientFactory.java 100% :green_apple:
GenericJsonQueryCreator.java 100% :green_apple:
GenericGetQueryCreator.java 100% :green_apple:
HttpTableLookupFunction.java 95.8% :green_apple:
JavaNetHttpPollingClient.java 88.46% :green_apple:
HttpLookupTableSource.java 83.65% :green_apple:
BodyBasedRequestFactory.java 83.33% :green_apple:
GetRequestFactory.java 80.65% :green_apple:
GenericGetQueryCreatorFactory.java 69.23% :green_apple:
GenericJsonQueryCreatorFactory.java 69.23% :green_apple:
ElasticSearchLiteQueryCreatorFactory.java 38.46% :x:
Total Project Coverage 94.76% :green_apple:
github-actions[bot] commented 2 years ago
File Coverage [91.57%] :green_apple:
RequestFactoryBase.java 100% :green_apple:
HttpLookupTableSourceFactory.java 100% :green_apple:
JavaNetHttpPollingClientFactory.java 100% :green_apple:
GenericJsonQueryCreator.java 100% :green_apple:
GenericGetQueryCreator.java 100% :green_apple:
HttpTableLookupFunction.java 95.8% :green_apple:
JavaNetHttpPollingClient.java 88.46% :green_apple:
HttpLookupTableSource.java 83.65% :green_apple:
BodyBasedRequestFactory.java 83.33% :green_apple:
GetRequestFactory.java 80.65% :green_apple:
GenericGetQueryCreatorFactory.java 69.23% :green_apple:
GenericJsonQueryCreatorFactory.java 69.23% :green_apple:
ElasticSearchLiteQueryCreatorFactory.java 38.46% :x:
Total Project Coverage 94.77% :green_apple: