From a365bfdef5e3e5caebb3ac3e33c73ce9689b8f08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Mili=C4=87?= Date: Wed, 6 Jul 2022 13:31:45 +0200 Subject: [PATCH] feature/Add Request Headers Info Field 2 --- src/main/scala/code/lib/ObpAPI.scala | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/scala/code/lib/ObpAPI.scala b/src/main/scala/code/lib/ObpAPI.scala index 56f6ae22..07cc7a86 100644 --- a/src/main/scala/code/lib/ObpAPI.scala +++ b/src/main/scala/code/lib/ObpAPI.scala @@ -659,7 +659,8 @@ object OBPRequest extends MdcLoggable { def addAppAccessIfNecessary: List[Header] = { if(IdentityProviderRequest.integrateWithIdentityProvider) { if (!headers.exists(_.key == "Authorization") && !apiPath.contains("resource-docs/OBPv5.0.0/obp")) { - Header("Authorization", s"Bearer $obtainAccessToken") :: headers + val temp = Header("Authorization", s"Bearer $obtainAccessToken") :: headers + temp } else { headers } @@ -695,7 +696,7 @@ object OBPRequest extends MdcLoggable { //sign the request if we have some credentials to sign it with credentials.foreach(c => c.consumer.sign(request)) - + addAppAccessIfNecessary.foreach(header => request.setRequestProperty(header.key, header.value)) //Set the request body @@ -706,9 +707,14 @@ object OBPRequest extends MdcLoggable { writer.flush() writer.close() } - - val requestHeaders = request.getRequestProperties().asScala.mapValues(_.asScala.toSet).toList - val adjustedRequestHeaders = requestHeaders.map(x => x._1 + ": " + x._2.mkString(", ")).sortWith(_ < _).filter(_.startsWith("null") == false) + + val requestHeaders = { + addAppAccessIfNecessary.map(header => (header.key, Set(header.value))) ::: + request.getRequestProperties().asScala.mapValues(_.asScala.toSet).toList + } + val adjustedRequestHeaders = requestHeaders.to[Set].toList + .map(x => x._1 + ": " + x._2.mkString(", ")) + .sortWith(_ < _).filter(_.startsWith("null") == false) request.connect()