Merge pull request #2512 from constantine2nd/develop

Check mandatory headers of Berlin Group
This commit is contained in:
Simon Redfern 2025-03-20 07:46:44 +01:00 committed by GitHub
commit 3dd8aeb09f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 2 deletions

View File

@ -20,9 +20,9 @@ object BerlinGroupCheck {
private def validateHeaders(verb: String, url: String, reqHeaders: List[HTTPParam], forwardResult: (Box[User], Option[CallContext])): (Box[User], Option[CallContext]) = {
val headerMap = reqHeaders.map(h => h.name.toLowerCase -> h).toMap
val missingHeaders = if(url.contains("berlin-group") && url.endsWith("/consent"))
berlinGroupMandatoryHeaders.filterNot(headerMap.contains)
else
(berlinGroupMandatoryHeaders ++ berlinGroupMandatoryHeaderConsent).filterNot(headerMap.contains)
else
berlinGroupMandatoryHeaders.filterNot(headerMap.contains)
if (missingHeaders.isEmpty) {
forwardResult // All mandatory headers are present

View File

@ -57,6 +57,10 @@ trait ServerSetup extends FeatureSpec with SendServerRequests
setPropsValues("api_instance_id" -> "1_final")
setPropsValues("starConnector_supported_types" -> "mapped,internal")
setPropsValues("connector" -> "star")
// Berlin Group
setPropsValues("berlin_group_mandatory_headers" -> "")
setPropsValues("berlin_group_mandatory_header_consent" -> "")
val server = TestServer
def baseRequest = host(server.host, server.port)