Skip to content

Commit

Permalink
Merge pull request #22 from hmrc/API-7598
Browse files Browse the repository at this point in the history
API-7598: enable using proxy where configured
  • Loading branch information
worthydolt authored Jun 14, 2024
2 parents c98b726 + 6fcd6cd commit 6338832
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 35 deletions.
15 changes: 8 additions & 7 deletions app/uk/gov/hmrc/apiplatforminboundsoap/config/AppConfig.scala
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,12 @@ import play.api.Configuration
@Singleton
class AppConfig @Inject() (config: Configuration) {

val appName: String = config.get[String]("appName")
val hmacSecret: String = config.get[String]("hmacSecret")
val forwardMessageUrl: String = config.get[String]("forwardMessageUrl")
val forwardMessageProtocol: String = config.get[String]("forwardMessageProtocol")
val forwardMessageHost: String = config.get[String]("forwardMessageHost")
val forwardMessagePort: Int = config.get[Int]("forwardMessagePort")
val testForwardMessageUrl: String = config.get[String]("testForwardMessageUrl")
val appName: String = config.get[String]("appName")
val hmacSecret: String = config.get[String]("hmacSecret")
val forwardMessageUrl: String = config.get[String]("forwardMessageUrl")
val forwardMessageProtocol: String = config.get[String]("forwardMessageProtocol")
val forwardMessageHost: String = config.get[String]("forwardMessageHost")
val forwardMessagePort: Int = config.get[Int]("forwardMessagePort")
val testForwardMessageUrl: String = config.get[String]("testForwardMessageUrl")
val proxyRequired: Boolean = config.get[Boolean]("http-verbs.proxy.enabled")
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,19 @@ class PassThroughController @Inject() (
if (path.charAt(0).equals('/')) path else s"/$path"
}

httpClientV2.post(new URL(appConfig.forwardMessageProtocol, appConfig.forwardMessageHost, appConfig.forwardMessagePort, addLeadingStrokeWhereMissing(path)))
.withBody(nodeSeq)
.execute[Either[UpstreamErrorResponse, HttpResponse]]
def buildUrl = {
new URL(appConfig.forwardMessageProtocol, appConfig.forwardMessageHost, appConfig.forwardMessagePort, addLeadingStrokeWhereMissing(path))
}

if (appConfig.proxyRequired) {
httpClientV2.post(buildUrl)
.withProxy
.withBody(nodeSeq)
.execute[Either[UpstreamErrorResponse, HttpResponse]]
} else {
httpClientV2.post(buildUrl)
.withBody(nodeSeq)
.execute[Either[UpstreamErrorResponse, HttpResponse]]
}
}
}
2 changes: 1 addition & 1 deletion conf/application.conf
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ play.i18n.langs = ["en"]
# !!!WARNING!!! DO NOT CHANGE THIS ROUTER
play.http.router = prod.Routes


http-verbs.proxy.enabled = "false"
forwardMessageProtocol = "http"
forwardMessageHost = "localhost"
forwardMessagePort = "3000"
Expand Down
22 changes: 0 additions & 22 deletions conf/logback.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,35 +14,13 @@
</encoder>
</appender>

<appender name="STDOUT_IGNORE_NETTY" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date{ISO8601} level=[%level] logger=[%logger] thread=[%thread] rid=[not-available] user=[not-available] message=[%message] %replace(exception=[%xException]){'^exception=\[\]$',''}%n</pattern>
</encoder>
</appender>

<appender name="ACCESS_LOG_FILE" class="ch.qos.logback.core.FileAppender">
<file>logs/access.log</file>
<encoder>
<pattern>%message%n</pattern>
</encoder>
</appender>

<appender name="CONNECTOR_LOG_FILE" class="ch.qos.logback.core.FileAppender">
<file>logs/connector.log</file>
<encoder>
<pattern>%message%n</pattern>
</encoder>
</appender>


<logger name="accesslog" level="INFO" additivity="false">
<appender-ref ref="ACCESS_LOG_FILE" />
</logger>

<logger name="com.ning.http.client.providers.netty" additivity="false">
<appender-ref ref="STDOUT_IGNORE_NETTY" />
</logger>

<logger name="com.google.inject" level="INFO"/>

<logger name="uk.gov" level="INFO"/>
Expand Down
2 changes: 1 addition & 1 deletion project/build.properties
Original file line number Diff line number Diff line change
@@ -1 +1 @@
sbt.version=1.9.7
sbt.version=1.9.9
2 changes: 1 addition & 1 deletion project/plugins.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ resolvers += MavenRepository("HMRC-open-artefacts-maven2", "https://open.artefac
resolvers += Resolver.url("HMRC-open-artefacts-ivy2", url("https://open.artefacts.tax.service.gov.uk/ivy2"))(Resolver.ivyStylePatterns)
resolvers += Resolver.typesafeRepo("releases")

addSbtPlugin("uk.gov.hmrc" % "sbt-auto-build" % "3.21.0")
addSbtPlugin("uk.gov.hmrc" % "sbt-auto-build" % "3.22.0")
addSbtPlugin("uk.gov.hmrc" % "sbt-distributables" % "2.5.0")
addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.2")
addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.9")
Expand Down

0 comments on commit 6338832

Please sign in to comment.