Skip to content

Commit 35a8110

Browse files
committed
Add fault rules
1 parent 59a781d commit 35a8110

5 files changed

+53
-25
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeODSHeaderValueNotInPartnerList">
2+
<AssignVariable>
3+
<Name>status_code</Name>
4+
<Value>400</Value>
5+
</AssignVariable>
6+
<AssignVariable>
7+
<Name>op_outcome_issue_code</Name>
8+
<Value>BAD_REQUEST</Value>
9+
</AssignVariable>
10+
<AssignVariable>
11+
<Name>faultstring</Name>
12+
<Value>Missing or Empty NHSD-End-User-Organisation-ODS header.</Value>
13+
</AssignVariable>
14+
</AssignMessage>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeODSHeaderValueNotInPartnerList">
2+
<AssignVariable>
3+
<Name>status_code</Name>
4+
<Value>400</Value>
5+
</AssignVariable>
6+
<AssignVariable>
7+
<Name>op_outcome_issue_code</Name>
8+
<Value>REC_BAD_REQUEST</Value>
9+
</AssignVariable>
10+
<AssignVariable>
11+
<Name>faultstring</Name>
12+
<Value>Missing or Empty NHSD-End-User-Organisation-ODS header.</Value>
13+
</AssignVariable>
14+
</AssignMessage>

proxies/live/apiproxy/policies/AssignMessage.SetOperationOutcomeODSHeaderValueNotInPartnerList.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
</AssignVariable>
66
<AssignVariable>
77
<Name>op_outcome_issue_code</Name>
8-
<Value>forbidden</Value>
8+
<Value>FORBIDDEN</Value>
99
</AssignVariable>
1010
<AssignVariable>
1111
<Name>faultstring</Name>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<AssignMessage enabled="true" name="AssignMessage.SetOperationOutcomeODSHeaderValueNotInPartnerList">
2+
<AssignVariable>
3+
<Name>status_code</Name>
4+
<Value>403</Value>
5+
</AssignVariable>
6+
<AssignVariable>
7+
<Name>op_outcome_issue_code</Name>
8+
<Value>ACCESS_DENIED</Value>
9+
</AssignVariable>
10+
<AssignVariable>
11+
<Name>faultstring</Name>
12+
<Value>Unauthorised ODS code provided in NHSD-End-User-Organisation-ODS header</Value>
13+
</AssignVariable>
14+
</AssignMessage>

proxies/live/apiproxy/targets/ers-target.xml

Lines changed: 10 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -117,58 +117,44 @@
117117
<Step>
118118
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
119119
</Step>
120-
<Condition>(raisefault.RaiseFault.403Forbidden = true) and (isFhirR4Path = false)</Condition>
120+
<Condition>(EUOAllowlistVerify.error_description ~~ ".*Invalid ODS code.*")</Condition>)
121121
</FaultRule>
122122
<FaultRule name="single_asid_ods_header_not_in_partner_list_error_fhir_r4">
123123
<Step>
124-
<Condition>(isFhirR4Path = true)</Condition>
125-
<Name>AssignMessage.SetOperationOutcomeVariablesR4</Name>
124+
<Name>AssignMessage.SetOperationOutcomeVariableR4</Name>
126125
</Step>
127126
<Step>
128-
<Condition>(isFhirR4Path = false)</Condition>
129-
<Name>AssignMessage.SetOperationOutcomeVariablesPreR4</Name>
130-
</Step>
131-
<Step>
132-
<Name>AssignMessage.SetOperationOutcomeIssueIal</Name>
127+
<Name>AssignMessage.SetOperationOutcomeODSHeaderValueNotInPartnerListR4</Name>
133128
</Step>
134129
<Step>
135130
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
136131
</Step>
137-
<Condition>(raisefault.RaiseFault.401InsufficientIal.failed = true)</Condition>
132+
<Condition>(EUOAllowlistVerify.error_description ~~ ".*Invalid ODS code.*") and (isFhirR4Path = true)</Condition>)
138133
</FaultRule>
139134
<FaultRule name="single_asid_ods_header_missing_error">
140-
<Step>
141-
<Condition>(isFhirR4Path = true)</Condition>
142-
<Name>AssignMessage.SetOperationOutcomeVariablesR4</Name>
143-
</Step>
144135
<Step>
145136
<Condition>(isFhirR4Path = false)</Condition>
146137
<Name>AssignMessage.SetOperationOutcomeVariablesPreR4</Name>
147138
</Step>
148139
<Step>
149-
<Name>AssignMessage.SetOperationOutcomeIssueIal</Name>
140+
<Name>AssignMessage.SetOperationOutcomeODSHeaderMissing</Name>
150141
</Step>
151142
<Step>
152143
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
153144
</Step>
154-
<Condition>(raisefault.RaiseFault.401InsufficientIal.failed = true)</Condition>
145+
<Condition>(EUOAllowlistVerify.error_description ~~ ".*Missing or Empty NHSD-End-User-Organisation-ODS header.*")</Condition>)
155146
</FaultRule>
156147
<FaultRule name="single_asid_ods_header_missing_error_fhir_r4">
157148
<Step>
158-
<Condition>(isFhirR4Path = true)</Condition>
159-
<Name>AssignMessage.SetOperationOutcomeVariablesR4</Name>
149+
<Name>AssignMessage.SetOperationOutcomeVariableR4</Name>
160150
</Step>
161151
<Step>
162-
<Condition>(isFhirR4Path = false)</Condition>
163-
<Name>AssignMessage.SetOperationOutcomeVariablesPreR4</Name>
164-
</Step>
165-
<Step>
166-
<Name>AssignMessage.SetOperationOutcomeIssueIal</Name>
152+
<Name>AssignMessage.SetOperationOutcomeODSHeaderMissingR4</Name>
167153
</Step>
168154
<Step>
169155
<Name>AssignMessage.OperationOutcomeErrorResponse</Name>
170156
</Step>
171-
<Condition>(raisefault.RaiseFault.401InsufficientIal.failed = true)</Condition>
157+
<Condition>(EUOAllowlistVerify.error_description ~~ ".*Missing or Empty NHSD-End-User-Organisation-ODS header.*") and (isFhirR4Path = true)</Condition>)
172158
</FaultRule>
173159
</FaultRules>
174160
<PreFlow>
@@ -235,7 +221,7 @@
235221
<Condition>(request.header.nhsd-ers-business-function == "AUTHORISED_APPLICATION")</Condition>
236222
</Step> <Step>
237223
<Name>RaiseFault.403Forbidden</Name>
238-
<Condition>(EUOAllowlistVerify.verified = false)</Condition>
224+
<Condition>(EUOAllowlistVerify.error_description = false)</Condition>
239225
</Step> <Step>
240226
</Step> <Step>
241227
<Name>AssignMessage.Set.x-ers-access-mode-header-user-restricted</Name>

0 commit comments

Comments
 (0)