diff --git a/notification-core/src/main/java/org/opengroup/osdu/notification/di/CredentialHeadersProvider.java b/notification-core/src/main/java/org/opengroup/osdu/notification/di/CredentialHeadersProvider.java index 30252493e4828485951c62f040ce612ad1d4ceba..fb568311c0955c57f9980b6f461254f7a22a44b1 100644 --- a/notification-core/src/main/java/org/opengroup/osdu/notification/di/CredentialHeadersProvider.java +++ b/notification-core/src/main/java/org/opengroup/osdu/notification/di/CredentialHeadersProvider.java @@ -57,27 +57,30 @@ public class CredentialHeadersProvider implements FactoryBean<DpsHeaders> { switch (requestMethod) { case POST: case PUT: - case PATCH: { - if(this.pubsubRequestBodyExtractor.isHandshakeRequest()) { - // The headers are not needed for the handshake requests. - return new DpsHeaders(); - } - - Map<String, String> attributes = this.pubsubRequestBodyExtractor.extractAttributesFromRequestBody(); - try { - //extract headers from pubsub message - String dataPartitionId = attributes.get(DpsHeaders.DATA_PARTITION_ID); - String authToken = this.serviceAccountJwtClient.getIdToken(dataPartitionId); - attributes.put(DpsHeaders.AUTHORIZATION, authToken); - return DpsHeaders.createFromMap(attributes); - } catch (AppException e) { - throw new Exception("Failed to generate headers for register service."); - } - } + case PATCH: + return getDpsHeadersForPostPutPatch(); default: { return new DpsHeaders(); } } } + + private DpsHeaders getDpsHeadersForPostPutPatch() throws Exception { + if(this.pubsubRequestBodyExtractor.isHandshakeRequest()) { + // The headers are not needed for the handshake requests. + return new DpsHeaders(); + } + + Map<String, String> attributes = this.pubsubRequestBodyExtractor.extractAttributesFromRequestBody(); + try { + //extract headers from pubsub message + String dataPartitionId = attributes.get(DpsHeaders.DATA_PARTITION_ID); + String authToken = this.serviceAccountJwtClient.getIdToken(dataPartitionId); + attributes.put(DpsHeaders.AUTHORIZATION, authToken); + return DpsHeaders.createFromMap(attributes); + } catch (AppException e) { + throw new Exception("Failed to generate headers for register service."); + } + } } \ No newline at end of file