From 8d183b823d447c175e7802f97bd59a567c1fd36b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Mili=C4=87?= Date: Thu, 6 Oct 2022 12:33:47 +0200 Subject: [PATCH] refactor/Tweak Call Context variable names --- .../main/scala/code/api/util/APIUtil.scala | 12 +-- .../main/scala/code/api/util/ApiSession.scala | 78 +++++++++---------- .../code/api/util/RateLimitingUtil.scala | 24 +++--- 3 files changed, 57 insertions(+), 57 deletions(-) diff --git a/obp-api/src/main/scala/code/api/util/APIUtil.scala b/obp-api/src/main/scala/code/api/util/APIUtil.scala index dd66dee2b..cc353291a 100644 --- a/obp-api/src/main/scala/code/api/util/APIUtil.scala +++ b/obp-api/src/main/scala/code/api/util/APIUtil.scala @@ -457,9 +457,9 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{ case (Some(x), true) => CustomResponseHeaders( List( - ("X-Rate-Limit-Reset", x.`X-Rate-Limit-Reset`.toString), - ("X-Rate-Limit-Remaining", x.`X-Rate-Limit-Remaining`.toString), - ("X-Rate-Limit-Limit", x.`X-Rate-Limit-Limit`.toString) + ("X-Rate-Limit-Reset", x.xRateLimitReset.toString), + ("X-Rate-Limit-Remaining", x.xRateLimitRemaining.toString), + ("X-Rate-Limit-Limit", x.xRateLimitLimit.toString) ) ) case _ => @@ -468,9 +468,9 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{ } private def getPaginationHeadersNewStyle(cc: Option[CallContextLight]) = { cc match { - case Some(x) if x.`Pagination-Limit`.isDefined && x.`Pagination-Offset`.isDefined => + case Some(x) if x.paginationLimit.isDefined && x.paginationOffset.isDefined => CustomResponseHeaders( - List(("Range", s"items=${x.`Pagination-Offset`.getOrElse("")}-${x.`Pagination-Limit`.getOrElse("")}")) + List(("Range", s"items=${x.paginationOffset.getOrElse("")}-${x.paginationLimit.getOrElse("")}")) ) case _ => CustomResponseHeaders(Nil) @@ -1058,7 +1058,7 @@ object APIUtil extends MdcLoggable with CustomJsonFormats{ } map { unboxFull(_) } map { i => val limit: Option[String] = i.collectFirst { case OBPLimit(value) => value.toString } val offset: Option[String] = i.collectFirst { case OBPOffset(value) => value.toString } - (i, callContext.map(_.copy(`Pagination-Offset` = offset, `Pagination-Limit` = limit))) + (i, callContext.map(_.copy(paginationOffset = offset, paginationLimit = limit))) } } diff --git a/obp-api/src/main/scala/code/api/util/ApiSession.scala b/obp-api/src/main/scala/code/api/util/ApiSession.scala index d7c0551aa..2dd1c5378 100644 --- a/obp-api/src/main/scala/code/api/util/ApiSession.scala +++ b/obp-api/src/main/scala/code/api/util/ApiSession.scala @@ -24,35 +24,35 @@ import net.liftweb.util.Helpers.tryo import scala.collection.immutable.List case class CallContext( - gatewayLoginRequestPayload: Option[PayloadOfJwtJSON] = None, //Never update these values inside the case class !!! - gatewayLoginResponseHeader: Option[String] = None, - dauthRequestPayload: Option[JSONFactoryDAuth.PayloadOfJwtJSON] = None, //Never update these values inside the case class !!! - dauthResponseHeader: Option[String] = None, - spelling: Option[String] = None, - user: Box[User] = Empty, - consumer: Box[Consumer] = Empty, - ipAddress: String = "", - resourceDocument: Option[ResourceDoc] = None, - startTime: Option[Date] = Some(Helpers.now), - endTime: Option[Date] = None, - correlationId: String = "", - sessionId: Option[String] = None, //Only this value must be used for cache key !!! - url: String = "", - verb: String = "", - implementedInVersion: String = "", - operationId: Option[String] = None, // Dynamic Endpoint Unique Identifier. Important for Rate Limiting. - authReqHeaderField: Box[String] = Empty, - directLoginParams: Map[String, String] = Map(), - oAuthParams: Map[String, String] = Map(), - httpCode: Option[Int] = None, - httpBody: Option[String] = None, - requestHeaders: List[HTTPParam] = Nil, - rateLimiting: Option[CallLimit] = None, - `X-Rate-Limit-Limit` : Long = -1, - `X-Rate-Limit-Remaining` : Long = -1, - `X-Rate-Limit-Reset` : Long = -1, - `Pagination-Offset` : Option[String] = None, - `Pagination-Limit` : Option[String] = None + gatewayLoginRequestPayload: Option[PayloadOfJwtJSON] = None, //Never update these values inside the case class !!! + gatewayLoginResponseHeader: Option[String] = None, + dauthRequestPayload: Option[JSONFactoryDAuth.PayloadOfJwtJSON] = None, //Never update these values inside the case class !!! + dauthResponseHeader: Option[String] = None, + spelling: Option[String] = None, + user: Box[User] = Empty, + consumer: Box[Consumer] = Empty, + ipAddress: String = "", + resourceDocument: Option[ResourceDoc] = None, + startTime: Option[Date] = Some(Helpers.now), + endTime: Option[Date] = None, + correlationId: String = "", + sessionId: Option[String] = None, //Only this value must be used for cache key !!! + url: String = "", + verb: String = "", + implementedInVersion: String = "", + operationId: Option[String] = None, // Dynamic Endpoint Unique Identifier. Important for Rate Limiting. + authReqHeaderField: Box[String] = Empty, + directLoginParams: Map[String, String] = Map(), + oAuthParams: Map[String, String] = Map(), + httpCode: Option[Int] = None, + httpBody: Option[String] = None, + requestHeaders: List[HTTPParam] = Nil, + rateLimiting: Option[CallLimit] = None, + xRateLimitLimit : Long = -1, + xRateLimitRemaining : Long = -1, + xRateLimitReset : Long = -1, + paginationOffset : Option[String] = None, + paginationLimit : Option[String] = None ) extends MdcLoggable { //This is only used to connect the back adapter. not useful for sandbox mode. @@ -126,11 +126,11 @@ case class CallContext( partialFunctionName = this.resourceDocument.map(_.partialFunctionName).getOrElse(""), directLoginToken = this.directLoginParams.get("token").getOrElse(""), oAuthToken = this.oAuthParams.get(TokenName).getOrElse(""), - `X-Rate-Limit-Limit` = this.`X-Rate-Limit-Limit`, - `X-Rate-Limit-Remaining` = this.`X-Rate-Limit-Remaining`, - `X-Rate-Limit-Reset` = this.`X-Rate-Limit-Reset`, - `Pagination-Offset` = this.`Pagination-Offset`, - `Pagination-Limit` = this.`Pagination-Limit` + xRateLimitLimit = this.xRateLimitLimit, + xRateLimitRemaining = this.xRateLimitRemaining, + xRateLimitReset = this.xRateLimitReset, + paginationOffset = this.paginationOffset, + paginationLimit = this.paginationLimit ) } @@ -198,11 +198,11 @@ case class CallContextLight(gatewayLoginRequestPayload: Option[PayloadOfJwtJSON] partialFunctionName: String, directLoginToken: String, oAuthToken: String, - `X-Rate-Limit-Limit` : Long = -1, - `X-Rate-Limit-Remaining` : Long = -1, - `X-Rate-Limit-Reset` : Long = -1, - `Pagination-Offset` : Option[String] = None, - `Pagination-Limit` : Option[String] = None + xRateLimitLimit : Long = -1, + xRateLimitRemaining : Long = -1, + xRateLimitReset : Long = -1, + paginationOffset : Option[String] = None, + paginationLimit : Option[String] = None ) trait LoginParam diff --git a/obp-api/src/main/scala/code/api/util/RateLimitingUtil.scala b/obp-api/src/main/scala/code/api/util/RateLimitingUtil.scala index f89ffad74..a2c12cde1 100644 --- a/obp-api/src/main/scala/code/api/util/RateLimitingUtil.scala +++ b/obp-api/src/main/scala/code/api/util/RateLimitingUtil.scala @@ -254,18 +254,18 @@ object RateLimitingUtil extends MdcLoggable { case PER_MONTH => c.per_month case PER_YEAR => -1 } - userAndCallContext._2.map(_.copy(`X-Rate-Limit-Limit` = limit)) - .map(_.copy(`X-Rate-Limit-Reset` = z._1)) - .map(_.copy(`X-Rate-Limit-Remaining` = limit - z._2)) + userAndCallContext._2.map(_.copy(xRateLimitLimit = limit)) + .map(_.copy(xRateLimitReset = z._1)) + .map(_.copy(xRateLimitRemaining = limit - z._2)) } def setXRateLimitsAnonymous(id: String, z: (Long, Long), period: LimitCallPeriod): Option[CallContext] = { val limit = period match { case PER_HOUR => perHourLimitAnonymous case _ => -1 } - userAndCallContext._2.map(_.copy(`X-Rate-Limit-Limit` = limit)) - .map(_.copy(`X-Rate-Limit-Reset` = z._1)) - .map(_.copy(`X-Rate-Limit-Remaining` = limit - z._2)) + userAndCallContext._2.map(_.copy(xRateLimitLimit = limit)) + .map(_.copy(xRateLimitReset = z._1)) + .map(_.copy(xRateLimitRemaining = limit - z._2)) } def exceededRateLimit(c: CallLimit, period: LimitCallPeriod): Option[CallContextLight] = { @@ -279,9 +279,9 @@ object RateLimitingUtil extends MdcLoggable { case PER_MONTH => c.per_month case PER_YEAR => -1 } - userAndCallContext._2.map(_.copy(`X-Rate-Limit-Limit` = limit)) - .map(_.copy(`X-Rate-Limit-Reset` = remain)) - .map(_.copy(`X-Rate-Limit-Remaining` = 0)).map(_.toLight) + userAndCallContext._2.map(_.copy(xRateLimitLimit = limit)) + .map(_.copy(xRateLimitReset = remain)) + .map(_.copy(xRateLimitRemaining = 0)).map(_.toLight) } def exceededRateLimitAnonymous(id: String, period: LimitCallPeriod): Option[CallContextLight] = { @@ -290,9 +290,9 @@ object RateLimitingUtil extends MdcLoggable { case PER_HOUR => perHourLimitAnonymous case _ => -1 } - userAndCallContext._2.map(_.copy(`X-Rate-Limit-Limit` = limit)) - .map(_.copy(`X-Rate-Limit-Reset` = remain)) - .map(_.copy(`X-Rate-Limit-Remaining` = 0)).map(_.toLight) + userAndCallContext._2.map(_.copy(xRateLimitLimit = limit)) + .map(_.copy(xRateLimitReset = remain)) + .map(_.copy(xRateLimitRemaining = 0)).map(_.toLight) } userAndCallContext._2 match {