From 7bb8a8d9ff346823b7451f6ca57602be9dd9c938 Mon Sep 17 00:00:00 2001 From: ParakhMittal <69970521+ParakhMittal@users.noreply.github.com> Date: Sun, 23 Aug 2020 19:12:16 +0530 Subject: [PATCH] Update apiInvoker.mustache and sample file for akka-scala client for issue #7258 fix (#7259) * Update apiInvoker.mustache In scala-akka-client code that is getting generated, addAuthentication method is called after setting headers using header parameter in the below mentioned line addAuthentication(request.credentials)( httpRequest.withHeaders(headers(request.headerParams)) ) However, in addAuthentication method, we are using withHeaders method that overwrites the headers set using header parameters. So, I am proposing to change the addAuthentication method be replacing withHeaders() method to addHeader() to add authentication header to the list of already existing headers. * Update ApiInvoker.scala Added changes to sample for the client generator code change --- .../main/resources/scala-akka-client/apiInvoker.mustache | 6 +++--- .../scala/org/openapitools/client/core/ApiInvoker.scala | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/scala-akka-client/apiInvoker.mustache b/modules/openapi-generator/src/main/resources/scala-akka-client/apiInvoker.mustache index 5999fe09821..8c81b0b2d8b 100644 --- a/modules/openapi-generator/src/main/resources/scala-akka-client/apiInvoker.mustache +++ b/modules/openapi-generator/src/main/resources/scala-akka-client/apiInvoker.mustache @@ -103,11 +103,11 @@ class ApiInvoker(formats: Formats)(implicit system: ActorSystem) extends CustomC request: HttpRequest => credentialsSeq.foldLeft(request) { case (req, BasicCredentials(login, password)) => - req.withHeaders(Authorization(BasicHttpCredentials(login, password))) + req.addHeader(Authorization(BasicHttpCredentials(login, password))) case (req, ApiKeyCredentials(keyValue, keyName, ApiKeyLocations.HEADER)) => - req.withHeaders(RawHeader(keyName, keyValue.value)) + req.addHeader(RawHeader(keyName, keyValue.value)) case (req, BearerToken(token)) => - req.withHeaders(RawHeader("Authorization", s"Bearer $token")) + req.addHeader(RawHeader("Authorization", s"Bearer $token")) case (req, _) => req } } diff --git a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/core/ApiInvoker.scala b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/core/ApiInvoker.scala index 3e6c1dbeb44..d3ff4cadb8e 100644 --- a/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/core/ApiInvoker.scala +++ b/samples/client/petstore/scala-akka/src/main/scala/org/openapitools/client/core/ApiInvoker.scala @@ -113,11 +113,11 @@ class ApiInvoker(formats: Formats)(implicit system: ActorSystem) extends CustomC request: HttpRequest => credentialsSeq.foldLeft(request) { case (req, BasicCredentials(login, password)) => - req.withHeaders(Authorization(BasicHttpCredentials(login, password))) + req.addHeader(Authorization(BasicHttpCredentials(login, password))) case (req, ApiKeyCredentials(keyValue, keyName, ApiKeyLocations.HEADER)) => - req.withHeaders(RawHeader(keyName, keyValue.value)) + req.addHeader(RawHeader(keyName, keyValue.value)) case (req, BearerToken(token)) => - req.withHeaders(RawHeader("Authorization", s"Bearer $token")) + req.addHeader(RawHeader("Authorization", s"Bearer $token")) case (req, _) => req } }