forked from RedHatInsights/notifications-backend
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Introduce notifications-connector-common-http (RedHatInsights#2335)
Co-authored-by: Mikel Alejo <[email protected]>
- Loading branch information
1 parent
927c01e
commit 7388a1a
Showing
64 changed files
with
562 additions
and
698 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
<?xml version="1.0"?> | ||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" | ||
xmlns="http://maven.apache.org/POM/4.0.0" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> | ||
<modelVersion>4.0.0</modelVersion> | ||
|
||
<artifactId>notifications-connector-common-http</artifactId> | ||
|
||
<parent> | ||
<groupId>com.redhat.cloud.notifications</groupId> | ||
<artifactId>notifications-parent</artifactId> | ||
<version>1.0.0-SNAPSHOT</version> | ||
</parent> | ||
|
||
<profiles> | ||
|
||
<!-- | ||
When Maven compiles a project with the "-Dmaven.test.skip" option, the tests compilation and execution are skipped | ||
but Maven still resolves the dependencies from the "test" scope and fails if these dependencies cannot be found. | ||
This is considered a Maven bug by many users and even though it was reported as such several years ago, it's never | ||
been fixed. The following profile works around that limitation and makes the compilation successful when tests are | ||
skipped even if the listed test dependencies are not available. | ||
--> | ||
<profile> | ||
<id>resolve-test-jars-if-tests-are-not-skipped</id> | ||
<activation> | ||
<property> | ||
<name>maven.test.skip</name> | ||
<value>!true</value> | ||
</property> | ||
</activation> | ||
<dependencies> | ||
<dependency> | ||
<groupId>com.redhat.cloud.notifications</groupId> | ||
<artifactId>notifications-common</artifactId> | ||
<version>${project.version}</version> | ||
<type>test-jar</type> | ||
<scope>test</scope> | ||
</dependency> | ||
</dependencies> | ||
</profile> | ||
|
||
</profiles> | ||
|
||
<dependencies> | ||
|
||
<!-- Scope: compile --> | ||
|
||
<!-- notifications modules --> | ||
<dependency> | ||
<groupId>com.redhat.cloud.notifications</groupId> | ||
<artifactId>notifications-connector-common</artifactId> | ||
<version>${project.version}</version> | ||
</dependency> | ||
|
||
<!-- Camel --> | ||
<dependency> | ||
<groupId>org.apache.camel.quarkus</groupId> | ||
<artifactId>camel-quarkus-http</artifactId> | ||
</dependency> | ||
|
||
</dependencies> | ||
|
||
<build> | ||
<plugins> | ||
|
||
<!-- The following plugin is required to inject beans from this module into other modules. --> | ||
<plugin> | ||
<groupId>org.jboss.jandex</groupId> | ||
<artifactId>jandex-maven-plugin</artifactId> | ||
<version>1.2.3</version> | ||
<executions> | ||
<execution> | ||
<id>make-index</id> | ||
<goals> | ||
<goal>jandex</goal> | ||
</goals> | ||
</execution> | ||
</executions> | ||
</plugin> | ||
|
||
<plugin> | ||
<artifactId>maven-compiler-plugin</artifactId> | ||
<version>${compiler-plugin.version}</version> | ||
</plugin> | ||
|
||
<plugin> | ||
<artifactId>maven-surefire-plugin</artifactId> | ||
<version>${surefire-plugin.version}</version> | ||
</plugin> | ||
|
||
</plugins> | ||
</build> | ||
</project> |
8 changes: 8 additions & 0 deletions
8
...on-http/src/main/java/com/redhat/cloud/notifications/connector/http/ExchangeProperty.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package com.redhat.cloud.notifications.connector.http; | ||
|
||
public class ExchangeProperty { | ||
|
||
public static final String HTTP_CLIENT_ERROR = "httpClientError"; | ||
public static final String HTTP_SERVER_ERROR = "httpServerError"; | ||
public static final String HTTP_STATUS_CODE = "httpStatusCode"; | ||
} |
29 changes: 29 additions & 0 deletions
29
...rc/main/java/com/redhat/cloud/notifications/connector/http/HttpComponentConfigurator.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package com.redhat.cloud.notifications.connector.http; | ||
|
||
import com.redhat.cloud.notifications.connector.CamelComponentConfigurator; | ||
import io.quarkus.logging.Log; | ||
import jakarta.enterprise.context.Dependent; | ||
import jakarta.inject.Inject; | ||
import org.apache.camel.CamelContext; | ||
import org.apache.camel.component.http.HttpComponent; | ||
import org.apache.hc.core5.util.Timeout; | ||
|
||
@Dependent | ||
public class HttpComponentConfigurator implements CamelComponentConfigurator { | ||
|
||
@Inject | ||
HttpConnectorConfig connectorConfig; | ||
|
||
@Override | ||
public void configure(CamelContext context) { | ||
for (String httpComponent : connectorConfig.getHttpComponents()) { | ||
HttpComponent component = context.getComponent(httpComponent, HttpComponent.class); | ||
component.setConnectTimeout(Timeout.ofMilliseconds(connectorConfig.getHttpConnectTimeout())); | ||
component.setConnectionsPerRoute(connectorConfig.getHttpConnectionsPerRoute()); | ||
component.setFollowRedirects(connectorConfig.isFollowRedirects()); | ||
component.setMaxTotalConnections(connectorConfig.getHttpMaxTotalConnections()); | ||
component.setSoTimeout(Timeout.ofMilliseconds(connectorConfig.getHttpSocketTimeout())); | ||
Log.debugf("Configured %s component", httpComponent); | ||
} | ||
} | ||
} |
Oops, something went wrong.